Lews
Новичок
наследование от ArrayObject и хранение в сессии
Есть класс, наследованный от ArrayObject.
Создается его экземпляр, проводятся различные махинации. После чего этот экземпляр сохраняется в сессию.
Затем переходим на другую страничку, считываем и сесси и получаем пустой класс .
Если убрать наследования от ArrayObject, то все изменения корректно передаются.
Так и должно быть? Если да, то почему?
Код:
Есть класс, наследованный от ArrayObject.
Создается его экземпляр, проводятся различные махинации. После чего этот экземпляр сохраняется в сессию.
Затем переходим на другую страничку, считываем и сесси и получаем пустой класс .
Если убрать наследования от ArrayObject, то все изменения корректно передаются.
Так и должно быть? Если да, то почему?
Код:
PHP:
session_start();
class user extends ArrayObject {
private $_data;
public function __construct(){
}
public function offsetGet($index){
return $this->_data[$index];
}
public function offsetSet($index, $newValue){
$this->_data[$index] = $newValue;
}
}
if(isset($_SESSION['user']))
$user = $_SESSION['user'];
else{
$user = new user();
$user->offsetSet('test', 0);
}
$user->offsetSet('test',$user->offsetGet('test') + 1);
echo $user->offsetGet('test');
$_SESSION['user'] = $user;
echo '<br><a href="index.php5">move</a>';