PHP魔术方法__destruct()


析构方法可以在对象销毁之前执行一些操作,如关闭文件、清空结果集,等等。 析构方法是PHP5引入的新特性。 析构方法的声明格式与构造方法 __construct() 类似,就是说__destruct()也以双下划线开头,其名称也是固定的。

1) 析构方法的声明格式

function __destruct()
{
    // 方法体
}

注意:析构方法不能带任何参数。


2) 析构方法的用法

一般来说,PHP中析构方法并不是太常用。在类中它是可选的,通常用于在对象销毁之前执行某些清理工作。


下面的例子演示了如何使用析构方法:

<?php
class Person{     
    public $name;         
    public $age;         
    public $sex;         
    public function __construct($name="", $sex="Male", $age=22)
    {   
        $this->name = $name;
        $this->sex  = $sex;
        $this->age  = $age;
    }
    /**
     * say方法
     */
    public function say()
    {
        echo "Name:".$this->name.",Sex:".$this->sex.",Age:".$this->age;
    }   
    /**
     * 定义析构方法
     */
    public function __destruct()
    {
            echo "Well, my name is ".$this->name;
    }
}
$Person = new Person("John");
unset($Person); // 销毁上面创建的$Person对象


以上程序的输出结果为:

Well, my name is John
上一篇 下一篇

评论

登录后可发表评论