您的位置:首页 > 编程语言 > PHP开发

__destruct()析构函数到底有何作用!该怎么用?

2018-04-04 18:21 417 查看
PHP和JAVA C++ 这些对象常驻内存语言不同。php大多情况下一个http请求发送完成会自动关闭数据库连接销毁对象变量等...
我认为PHP的析构函数基本用不到,听我一个老师讲过会在一些加锁的时候 会用到(我暂时没写过,写过锁也没用到析构函数)。
如果一定要研究PHP的析构函数 可以尝试以下的例子 帮助理解:



对应的输出结果



当整个请求结束后,对象会调用析构函数 销毁所有有关该对象的东西!
即使你不写析构函数。PHP机制也会自行销毁。因为这本身就是PHP的特性,脚本语言。请求完成,马上释放掉!(之所以写出来,是让大家看的直观。)

注意看下面(前面代码不变)
依然请求四次,但第二次请求覆盖第一次请求 都赋值给变量b,我们看一下结果





第一次进来创建了a对象 (第0个)
第二次进来创建了b对象 (第1个)
从上图看 b对象被创建出来后  a 对象马上就被销毁 系统会自动调用析构函数来销毁 前一个赋值给b的对象

综上所述:在PHP中析构函数在绝大多数情况下,会自动调用销毁对象。本文只介绍其原理~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息