php 函数根据可析构性分为两类:可析构函数和不可析构函数。可析构函数可进一步细分为引用计数和析构回调两种,分别在引用计数归零和对象销毁时调用析构方法;不可析构函数则在函数执行结束后自动销毁。
php函数分类:可析构和不可析构
PHP函数根据是否可以被析构,分为两类:
可析构函数
立即学习“PHP免费学习笔记(深入)”;
可析构函数可以根据其行为进一步细分为两类:
-
引用计数:当变量引用对象时,它的引用计数会增加。当最后一个引用被析构时,对象将被销毁。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
classMyClass{publicfunction__construct(){echo"Constructing MyClass\n";}publicfunction__destruct(){echo"Destructing MyClass\n";}}$obj=newMyClass();输出:
1
2
Constructing MyClassDestructing MyClass -
析构回调:当对象被销毁时,将自动调用一个回调函数。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
classMyClass{publicstaticfunctiondestructioncallback(){echo"MyClass has been destructed\n";}publicfunction__construct(){register_shutdown_function(['MyClass','destructionCallback']);echo"Constructing MyClass\n";}publicfunction__destruct(){echo"Destructing MyClass\n";}}$obj=newMyClass();输出:
1
2
3
Constructing MyClassDestructing MyClassMyClass has been destructed
不可析构函数
不可析构函数没有明确的析构步骤。它们在函数执行结束后自动销毁。
|
1 2 3 4 5 6 7 8 |
|
输出:
|
1 2 |
|
实战案例
在实际应用中,可以利用析构函数实现以下功能:




