php:__destruct问题(OOP新手)

时间:2014-05-10 10:39:17

标签: php oop function


我是OOP编程的新手。所以我有关于__destruct函数的2个问题。

  1. 我可以从__destruct调用另一个对象函数,还是其他函数已经未声明?例如:

    function __destruct()
        $this->save();
    
  2. 我还可以在普通代码中调用__destruct函数吗?例如:

    $object_name->__destruct();
    

2 个答案:

答案 0 :(得分:3)

  1. 是的,我认为这样可行,虽然在垃圾收集器内调用save()调用会有点违反直觉(而且设计很可怕。)

  2. 是的,如果您愿意,或者当没有更多对该对象的引用时,PHP会自动调用它。

答案 1 :(得分:0)

首先__destruct是与__construct

相同的对象的析构函数

当您创建Object(__construct将调用)并删除或销毁对象(将调用__destruct)时,上述两个函数都会自动调用

您可以从构造函数或析构函数中调用N个函数。构造函数的主要目的是初始化对象并分配适当的内存位置。

如果反向使用析构函数来释放内存以及任何已分配/锁定的资源(如文件/打印机),或者可能是任何其他资源。

您还可以使用object_name->方法名称调用任何其他对象的Public方法。