PHP 5 引入了析构函数function __destruct()的概念,这类似于其它面向对象的语言,如 C++。析构函数会在到某个对象的所有引用都被删除或者当对象被显式销毁时执行。
说明:
某个对象的所有引用被删除:
1、使用unset(对象名),将对象名销毁
2、$对象名 = null
3、$对象名 = 'abc'
显式销毁:
上面写的三种方式,都是显式销毁,所谓显式销毁就是程序员主动删除对象引用。
隐式销毁:
如果程序员不去显式销毁对象,那么在程序执行完毕后,这个对象就会被系统销毁,这个就是系统销毁。也叫隐式销毁。
基本语法:
class 类名
{
public function __destruct()
{
//函数体
//析构函数的重要作用,就是释放对象创建的资源
//比如 数据库连接,文件句柄,绘图句柄...
}
}
注意:
(1)析构函数访问修饰符都是public
(2)析构函数没有形参
(3)析构函数是系统调用的(系统会自动调用,不需要程序员手工调用)
(4)析构函数在如下情况会被系统调用
1、php文