Php 对对象使用会话变量
我创建了一个对象,并指定了如下值: $car_object=&new car() 如何将$car\u对象存储在会话变量中? 如何从会话变量中取出$car\u对象?设置为会话:Php 对对象使用会话变量,php,session,object,Php,Session,Object,我创建了一个对象,并指定了如下值: $car_object=&new car() 如何将$car\u对象存储在会话变量中? 如何从会话变量中取出$car\u对象?设置为会话: $car_object = new Car(); $car_object->offer = 'Sale'; $car_object->type = 'Sport Car'; $car_object->location = "Buffalo, New york"; $_SESSION['car']
$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;
设置为会话:
$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{}
更简单的方法是:
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{}
为什么要将其存储为会话变量?为什么要将其存储为会话变量?请确保将类规范包含到正在从会话存储取消序列化对象的页面中,否则,您将拥有一个没有方法的对象。请确保将类规范包含到正在从会话存储取消序列化对象的页面中,否则您将拥有一个没有方法的对象。