То есть я понимаю, что конструктор вызывается в начале, деструктор в конце, понимаю вот этот пример, но не понимаю, когда он используется? Высвобождает память? Но разве в php это не происходит автоматом? Для чего он тогда нужен, поясните пожалуйста. И ещё момент, можно ли конструктором эмитировать цикл? Точнее знаю что можно. Или лучше этого на практике не делать. PHP: <?php class MyDestructableClass { function __construct() { print "Конструктор\n"; $this->name = "MyDestructableClass"; } function __destruct() { print "Уничтожается " . $this->name . "\n"; } } $obj = new MyDestructableClass(); ?>
угу, может у тебя задача там - удалить какие нить файлики попутно, или записи в БД, или наоборот записать время уничтожения объекта в бд
Деструкторы в php немного неудобны тем, что трудно предсказать, когда они будут вызваны, трудно повлиять на очерёдность вызова. Поэтому я их не использую совсем, они немного неопределённость вводят
Как и в любом языке со сборкой мусора автоматической. Деструкторы актуальны в сях и плюсах, где ты ручками объект создаешь и ты же ручками его грохаешь. В языках с GC это, скорее, наследие для галки. Ну или на случай, если в логике используется явное выпиливание объектов.