class x
{
function __construct()
{
$this->file = fopen('path', 'a');
}
function __destruct()
{
fclose($this->file);
}
}
简单的说,析构函数是用来在对象关闭时完成的特殊工作,比如我写的上例,在实例化同时打开某文件,但是它什么时候关闭呢,用完就关闭呗,所以析构函数直接关闭它,
又或者在析构时,我们将处理好的某些数据一并写进数据库,这时可以考虑使用析构函数内完成,在析构完成前,这些对象属性仍然存在,并且仅用于内部访问,所以可以放心的做与对象有关的任何善后工作
{
function __construct()
{
$this->file = fopen('path', 'a');
}
function __destruct()
{
fclose($this->file);
}
}
简单的说,析构函数是用来在对象关闭时完成的特殊工作,比如我写的上例,在实例化同时打开某文件,但是它什么时候关闭呢,用完就关闭呗,所以析构函数直接关闭它,
又或者在析构时,我们将处理好的某些数据一并写进数据库,这时可以考虑使用析构函数内完成,在析构完成前,这些对象属性仍然存在,并且仅用于内部访问,所以可以放心的做与对象有关的任何善后工作
析构函数并不是为了把对象自身的内存释放,而是当用户需要额外释放某些内存时用它来指导php需要释放的内存在哪里,最后php在析构时使用
一般情况下,我们不需要显式写虚构函数.除非你真的有需要释放的资源.
简单的释放使用以下的就可以.
unset(变量名);
或者 $变量名 = NULL;即可.