析构函数什么时候被挪用
析构函数在下边3种状况时被挪用:
对象生命周期完毕,被烧毁时;
主动挪用delete ;(引荐进修:PHP编程从入门到通晓)
对象i是对象o的成员,o的析构函数被挪用时,对象i的析构函数也被挪用。
PHP 5 引入了析构函数的观点,这类似于别的面向对象的言语,如 C++。析构函数会在到某个对象的一切援用都被删除或许当对象被显式烧毁时实行。
<?php class MyDestructableClass { function __construct() { print "In constructor\n"; $this->name = "MyDestructableClass"; } function __destruct() { print "Destroying " . $this->name . "\n"; } } $obj = new MyDestructableClass(); ?>
和组织函数一样,父类的析构函数不会被引擎暗中挪用。要实行父类的析构函数,必须在子类的析构函数体中显式挪用 parent::__destruct()。另外也和组织函数一样,子类假如本身没有定义析构函数则会继续父类的。
析构函数纵然在运用 exit() 停止剧本运转时也会被挪用。在析构函数中挪用 exit() 将会中断其他封闭操纵的运转。
Note:
析构函数在剧本封闭时挪用,此时一切的 HTTP 头信息已发出。剧本封闭时的事情目次有能够和在 SAPI(如 apache)中时差别。
Note:
试图在析构函数(在剧本停止时被挪用)中抛出一个异常会致使致命毛病。
以上就是php析构函数什么时候挪用的细致内容,更多请关注ki4网别的相干文章!