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

PHP和JAVA C++ 这些对象常驻内存语言不同。php大多情况下一个http请求发送完成会自动关闭数据库连接销毁对象变量等...

我认为PHP的析构函数基本用不到,听我一个老师讲过会在一些加锁的时候 会用到(我暂时没写过,写过锁也没用到析构函数)。

如果一定要研究PHP的析构函数 可以尝试以下的例子 帮助理解:


对应的输出结果


当整个请求结束后,对象会调用析构函数 销毁所有有关该对象的东西!

即使你不写析构函数。PHP机制也会自行销毁。因为这本身就是PHP的特性,脚本语言。请求完成,马上释放掉!(之所以写出来,是让大家看的直观。)


注意看下面(前面代码不变)

依然请求四次,但第二次请求覆盖第一次请求 都赋值给变量b,我们看一下结果



第一次进来创建了a对象 (第0个)

第二次进来创建了b对象 (第1个)

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



综上所述:在PHP中析构函数在绝大多数情况下,会自动调用销毁对象。本文只介绍其原理~



  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值