我正在用PHP编写一个Proxy类。
为此,我使用magic方法来捕获对代理实例的调用/ get / set ...,并将它们转发给该实例。
但是,我不确定在这种情况下该怎么做:
class Proxy {
// Proxied object
private $instance;
// ...
function __destruct() {
// unset($this->instance); ?
// $this->instance->__destruct(); ?
// nothing ?
}
}
我(我可以)明确地调用析构函数吗?或者我应该取消对象,知道它不会真正破坏它(至少,立即)?
或者我应该什么也不做,等待垃圾收集器销毁实例?
答案 0 :(得分:0)
不要做任何事情。它将由垃圾收集器处理,可能与代理同时进行。
答案 1 :(得分:0)
我强烈建议您在代理服务器死亡时不要释放实例类。我不确定你是如何在你的代码库中做的事情,但有些东西仍然可以保存对你的实例类的引用。让GC更好地处理它。析构函数在PHP中很少有用。