<?php class ClassName { public function __construct() { // tresc konstruktora } /* rozne metody zmieniajace stan obiektu */ $sClassName = get_class($this); $this = new $sClassName(); } } ?>
Moze znacie jakis prosty sposob na rozwiazanie tego problemu bez koniecznosci "recznego" przywracania wszystkich poczatkowych wartosci obiektu. Chodzi mi oczywiscie o to aby reset wywolywany byl poprzez jedna z metod danego obiektu.
-- edit --
Ok wymyslilem. Trzeba tylko tresc zawarta w konstruktorze przeniesc do osobnej metody inicjalizujacej.
<?php class ClassName { public function __construct() { $this->_init(); } protected function _init() { /* przypisanie wartosci domyslnych wlasciwosciom obiektu */ } /* rozne metody zmieniajace stan obiektu */ $aProperties = get_object_vars($this); foreach ($aProperties as $sProperty => $mValue) { $this->$sProperty = null; } $this->_init(); } } ?>