## 析构方法作用:
主要是用于释放资源(数据库连接,图片资源.....,销毁某个对象),回收内存和CPU
1.析构方法会自动被调用
2.主要用于关闭,销毁资源,目的是回收
3. 调用顺序是先创建的对象,后被销毁,栈的先入后出
4. 析构方法什么时候被调用?
a. 当进程结束的时候
b. 当一个对象成为垃圾对象的时候,该对象的析构方法也会 被调用
c.垃圾对象:当一个对象没有任何引用指向他的时候
d.当对象成为垃圾对象,析构方法会立即调用,从而回收对象占用的内存。
析构方法没有返回值,释放资源不是销毁对象本身,销毁对象前,系统自动调用该类的析构方法,一个类最多只有一个析构方法。
![](https://box.kancloud.cn/cef8b1b3eeb5c4c34c0f89dea04619d0_867x423.png)
~~~
<?
echo "<meta charset='utf-8'>";
class Person{
public $name;
public $age;
//构造方法
public function __construct($name,$age){
$this->name=$name;
$this->age=$age;
}
//析构方法
function __destruct(){
echo $this->name."销毁资源<br/>";
}
}
$p1=new Person("贾宝玉",15);
$p2=new Person("林黛玉",13);
~~~
~~~
$p1=new Person("贾宝玉",15);
$p1=null; //此时贾宝玉会被先销毁
$p2=new Person("林黛玉",13);
~~~