Здравствуйте!
Хочется мне вот чего. Есть у меня «хранилище» объектов. В этом хранилище лежат сериализованные копии объектов. Я пользуюсь фреймверком CodeIgniter, и хочу чтобы объекты контроллеров «восстанавливали» свое состояние.
Выглядеть это должно примерно так:
class Menu extends Controller
{
private $menu_counter=0;
private $menu_pointer=0;
function __constructor()
{
...
$objectdata=$stack->get_objectdata();
if($objectdata!=NULL) $this=unserialize($objectdata);
}
...
}
Но конечно, так использовать $this нельзя. Получается ошибка:
Cannot re-assign $this in menu.php on line 28
Я, конечно, могу сделать методы, возвращающие массив свойств, и устанавливающие свойства из массива. И работать через них. Но эти методы нужно будет постоянно контролировать в каждом классе контроллера, и менять их, если появилось/удалилось/переименовалось какое-нибудь свойство. А это потенциальный источник ошибок.
Вопрос. Как проинициализировать свойства класса «изнутри» класса, имея сериализованную копию данного класса?