Метод __destruct
является магическим методом в PHP и не должен вызываться вручную.
Hovewer это не настоящая магия, имя метода должно быть примерно как onDestructed
или около того, точно так же, как прослушиватель событий.
Итак, __destruct
вызывается, когда больше нет ссылок на объект. Реализация метода может быть следующим:
function __destruct(){
echo "An object of class " . __CLASS__ . " has been destroyed " ;
}
И ответить на ваш вопрос, да, это можно назвать явным, и вы будете просто выполнять код внутри метода __destruct
, но вы не уничтожить объект (если вы делаете в нем настоящую сборку мусора).
function __construct($something) {
if($something)
echo "OK!" ;
else
$this->__destruct(); // $this-> must be used here!
}
Чтобы уничтожить его, вы можете использовать unset($object)
или просто установить его в нуль в некоторых случаях.
-1 Вы пробовали? –
Может ли он разрушить себя? –
1) Вы попробовали? 2) почему вам даже нужно вручную вызывать '__destruct()'? 3) ПОЧЕМУ!?!?! 4) Разве? Зачем? – PeeHaa