在Proxy类中显式调用PHP析构函数?

时间:2012-09-07 15:00:07

标签: php

我正在用PHP编写一个Proxy类。

为此,我使用magic方法来捕获对代理实例的调用/ get / set ...,并将它们转发给该实例。

但是,我不确定在这种情况下该怎么做:

class Proxy {

    // Proxied object
    private $instance;

    // ...

    function __destruct() {
        // unset($this->instance); ?
        // $this->instance->__destruct(); ?
        // nothing ?
    }

}

我(我可以)明确地调用析构函数吗?或者我应该取消对象,知道它不会真正破坏它(至少,立即)?

或者我应该什么也不做,等待垃圾收集器销毁实例?

2 个答案:

答案 0 :(得分:0)

不要做任何事情。它将由垃圾收集器处理,可能与代理同时进行。

答案 1 :(得分:0)

我强烈建议您在代理服务器死亡时不要释放实例类。我不确定你是如何在你的代码库中做的事情,但有些东西仍然可以保存对你的实例类的引用。让GC更好地处理它。析构函数在PHP中很少有用。