Более простым способом было бы сделать:
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{}