Знатоки, подскажите, я использую что-то недокументированное или это нормально?
Задача - передавать объект от скрипта к скрипту. Использую сессии. Чтобы не писать в каждом скрипте в сессию решил попробывать упихать это в сам объект. Получил следующее (все имена переменных вымышлены):
class my_class
{
//
// Constructor
//
function my_class()
{
$this->a = 1;
$this->b = 10;
if (isset($_SESSION["session_str"])) {
$ser=$_SESSION["session_str"];
$this=unserialize($ser); // Удивило, что это сработало.
} else {
$this->c=100;
}
return true;
}
function save_myself()
{
$_SESSION["session_str"]=serialize($this);
return true;
}
function some_function()
{
/*
тут что-то делается. А потом сохраняется
*/
$this->save_myself();
return true;
}
Удивила выделенная строка. Есть сомнения, что я прав, хотя и работает.