Intereting Posts
ajax: responsetext возвращает весь мой PHP-код локально Как вы кодируете апостроф так, чтобы он был доступен для поиска в mysql? Получение профиля профиля Facebook от пользователя (через график) – определить, является ли это пустым (т.е. по умолчанию) образ? Использование почты PHP из нескольких почтовых клиентов (Yahoo | Google | Hotmail | Rediff | Личный почтовый домен) PHP Типичная альтернатива только выходу табуляции (дубликат) Атрибут Ajax для API Instagram пытался исправить ошибку Возможно ли иметь $ _SESSION = $ _POST? PHP array_slice () null length приводит к пустому массиву Панель выполнения загрузки jQuery Неограниченные аргументы для функции PHP? Правила перезаписи правил CodeIgniter и контроллер Преобразование XML в CSV с помощью PHP Что такое почтовый токен в сгенерированном коде Postman? Проверьте, является ли текущий пользователь администратором в WordPress Есть ли способ обнаружить строки, такие как putjbtghguhjjjanika?

Использование переменной сеанса с объектами

Я создал объект и присвоил значения следующим образом:

$ car_object = & new Car ();

$car_object->offer = 'Sale'; $car_object->type = 'Sport Car'; $car_object->location = "Buffalo, New york"; 

Как сохранить $ car_object внутри переменной сеанса? Как я могу получить $ car_object из переменной сеанса?

Установить на сеанс:

 $car_object = new Car(); $car_object->offer = 'Sale'; $car_object->type = 'Sport Car'; $car_object->location = "Buffalo, New york"; $_SESSION['car'] = $car_object; 

Получить с сессии:

 $car_object = $_SESSION['car']; echo $car_object->offer; 

Более простой способ:

 class SessionObject { public function __construct($key) { if(isset($_SESSION[$key])) { $_SESSION[$key] = array(); } $this->____data &= $_SESSION[$key]; } public function __get($key) { return isset($this->___data[$key]) ? $this->___data[$key] : null; } public function __set($key,$value) { $this->___data[$key] = $value; } } 

Тогда вы можете использовать что-то вроде этого;

 class CarSession extends SessionObject { public function __construct() { parent::__construct('car'); //name this object } /* * Custom methods for the car object */ } $Car = new CarSession(); if(!$car->type) { $Car->type = 'transit'; } 

это помогает создать более управляемую инфраструктуру для хранения объектов в сеансе.

например:

 class Currentuser extend SessionObject{} class LastUpload extend SessionObject{} class UserData extend SessionObject{} class PagesViewed extend SessionObject{} 

Сериализация объекта и его хранение в сеансах. Вот целая дискуссия об этом: PHP: сохранение «объектов» внутри $ _SESSION