美文网首页
析构函数(Destructors)

析构函数(Destructors)

作者: Do_you | 来源:发表于2018-03-01 22:14 被阅读0次

有两种情况会调用析构函数:在执行你的脚本的时候,当一个对象的所有的引用都被注销,或者当脚本运行完毕而PHP结束请求。第二种方式比较巧妙,因为第一种方法中你依赖的一些对象可能已经调用析构函数了,所以他们已经无法访问了。所以,第一种方法要慎用,而且不要在你的析构函数中应用其他对象。

<?php
/**
* Created by PhpStorm.
* User: ZhouTengFu
* Date: 2018/2/13
* Time: 上午12:10
*/
class MyClass
{
function __destruct()
{
print "我是MyClass对象的析构函数\n";
// TODO: Implement __destruct() method.
}
}
$obj = new MyClass();
$obj = NUll;
destruct.png

在这个例子中就算没有最后一行代码,当请求结束,执行引擎关闭的时候析构函数也会被调用的。

注意:PHP并不保证析构函数被调用的准确时间点,所以它可能在最后一个引用的对象被释放后几行语句时才执行调用。因此,你需要注意这个问题一面哎编写你的应用的时候发生意外。

相关文章

  • 析构函数(Destructors)

    有两种情况会调用析构函数:在执行你的脚本的时候,当一个对象的所有的引用都被注销,或者当脚本运行完毕而PHP结束请求...

  • C++之析构函数

    析构函数的概述 析构函数 完成对象的清理工作,先清理,再释放对象空间。析构函数也是编译器自动调用。 析构函数 不能...

  • 简介python中的析构函数与构造函数

    python的构造和析构函数为固定的名字。 构造函数 析构函数 不像c++中那样构造函数和析构函数是类名字。并且在...

  • [C++之旅] 13 析构函数

    [C++之旅] 13 析构函数 析构函数与构造函数相反,构造函数在实例化一个对象时调用,而析构函数在销毁一个对象时...

  • C++基础-构造函数和拷贝函数

    构造函数 析构函数 析构函数: 相当于临终遗言,对象被回收的时候会被调用。如果有在对象内部开辟堆内存,在析构函数里...

  • C++总结

    函数 为什么基类的析构函数用虚函数 在实现多态时,当用基类操作派用类,在析构时防止只析构基类而不析构派生类的状况发...

  • 2020-02-10 C++基础2

    1:为什么析构函数必须是虚函数?为什么C++默认的析构函数不是虚函数? 将可能会被继承的父类的析构函数设置为虚...

  • C++三五法则

    1、需要析构函数的类也需要拷贝构造函数和拷贝赋值函数。 通常,若一个类需要析构函数,则代表其合成的析构函数不足以释...

  • 析构函数

    析构函数与构造函数相反,在一个类的实例被释放之前,析构函数被调用,析构函数使用关键字deinit来定义,类似于初始...

  • C++ 析构函数

    析构函数(destructor)是一种特殊的成员函数。 类的析构函数名是在类名前加一个波浪好~ 累的析构函数是在删...

网友评论

      本文标题:析构函数(Destructors)

      本文链接:https://www.haomeiwen.com/subject/vkanxftx.html