Home  >  Article  >  Backend Development  >  PHP中__destruct(),类的析构函数详解

PHP中__destruct(),类的析构函数详解

PHPz
PHPzOriginal
2016-06-13 11:42:5011107browse

PHP中把以两个下划线__开头的方法称为魔术方法(Magic methods),这些方法在PHP中充当了举足轻重的作用。

PHP中__destruct(),类的析构函数

通过《PHP中__destruct(),类的构造函数》讲解,现在我们已经知道了什么叫构造方法。

那么与构造方法对应的就是析构方法。

析构方法允许在销毁一个类之前执行的一些操作或完成一些功能,比如说关闭文件、释放结果集等。

析构方法是PHP5才引进的新内容。

析造方法的声明格式与构造方法 __construct() 比较类似,也是以两个下划线开始的方法 __destruct() ,这种析构方法名称也是固定的。

1、 析构方法的声明格式

function __destruct()
{
 //方法体
}

注意:析构函数不能带有任何参数。

2、 析构方法的作用

一般来说,析构方法在PHP中并不是很常用,它属类中可选择的一部分,通常用来完成一些在对象销毁前的清理任务。
举例演示,如下:

<?php
class Person{     
                                                        
    public $name;         
    public $age;         
    public $sex;         
                                                                    
    public function __construct($name="", $sex="男", $age=22)
    {   
        $this->name = $name;
        $this->sex  = $sex;
        $this->age  = $age;
    }
    
    /**
     * say 说话方法
     */
    public function say()
    {  
        echo "我叫:".$this->name.",性别:".$this->sex.",年龄:".$this->age;
    }    
    
    /**
     * 声明一个析构方法
     */
    public function __destruct()
    {
            echo "我觉得我还可以再抢救一下,我的名字叫".$this->name;
    }
}
$Person = new Person("小明");
unset($Person); //销毁上面创建的对象$Person

上面的程序运行时输出:

我觉得我还可以再抢救一下,我的名字叫小明
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn