PHP PHP 类的析构函数

enrique · 2019-11-26 15:55:11 · 热度: 8

与构造方法对应的就是析构方法,析构方法允许在销毁一个类之前执行的一些操作或完成一些功能,比如说关闭文件、释放结果集等。

析构函数不能带有任何参数。

PHP 4中,尽管脚本执行结束后对象会自动撤销,但不太可能自定义这个清除过程。

随着PHP5中引入了析构函数,这种限制就不复存在了。

创建析构函数与创建其他方法一样,但析构函数函数名必须是 __destruct()。实例如下:

class book
{
    private $title;
    private $isbn;
    private $copies;

    public function __construct($isbn)
    {
        echo "book class instance created.";
    }

      function __destruct()
      {
           echo "book class instance destroyed.";
      }
}
$book = new book("1893115852");

程序运行结果为:

book class instance created.
book class instance destroyed.

脚本执行结束时,PHP会撤销内存中的所有对象。

因此,如果实例化的类和实例化时创建的信息都留在内存中,就不需要显式地声明析构函数。

但是,如果实例化时创建了不那么容易丢失的数据(如存储在数据库中),就应当在对象撤销时撤销这些数据,为此就需要创建一个定制的析构函数。

和构造方法一样,PHP 不会在本类中自动的调用父类的析构方法。要执行父类的析构方法,必须在子类的析构方法体中手动调用 parent::__destruct()。试图在析构函数中抛出一个异常会导致致命错误。

猜你喜欢:
暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册