У меня этот класс: class Test { private $test = 'ok'; public function doTest() { echo $this->test; } public function __destruct() { $this->test = 'not ok'; } } и следующий тестовый пример: $test = new Test; $test->__destruct(); // I wish this would throw a Fatal Error or something… $test->doTest(); // prints "not ok" То, что […]
Возможный дубликат: Передать ссылку на $ this в конструкторе PHP Я работаю над простой PHP-инфраструктурой в качестве учебного проекта. У меня есть объект запроса с методом _execute() . В этом методе я (между прочим) создаю объект, называемый pageController, вызываю метод на нем и удаляю объект, используя следующий код: $controller = new $this->_controllerName($this); call_user_func(array($controller, $this->_methodName)); unset($controller); […]
В приведенном ниже коде показано, что destruct () вызывается дважды. Я хотел бы знать, почему? class A { function hi(){ echo 'hi'; } function __destruct(){ echo 'destroy'; } } class B{ public $this_ = ''; function __construct(){ $this->this_ = new A; } function __call($method, $params) { return call_user_func_array(array($this->this_, $method), $params); } } $b = new […]
Это моя первая публикация в stackoverflow, но я эти темы очень помогли мне! Anywho, на мой вопрос … есть ли какие-то случаи, когда деструктор в PHP НЕ вызывается? Причина, по которой я спрашиваю, заключается в том, что у меня есть класс сопоставления, который сопоставляет данные с объектами и конструктором, я запускаю транзакцию, а в деструкторе […]