0

私はPHPでProxyクラスを書いています。

そのために、私はマジックメソッドを使用して、プロキシされたインスタンスへの呼び出し/取得/設定...をキャッチし、それらをそのインスタンスに転送しています。

ただし、この状況で何をすべきかわかりません。

class Proxy {

    // Proxied object
    private $instance;

    // ...

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

}

デストラクタを明示的に呼び出す必要がありますか?または、オブジェクトを確実に(少なくともすぐに)破壊しないことを知って、オブジェクトの設定を解除する必要がありますか?

または、何もせずにガベージコレクターがインスタンスを破棄するのを待つ必要がありますか?

4

2 に答える 2

0

プロキシが停止したときにインスタンスクラスを解放しないことを強くお勧めします。コードベースでどのように処理するかはわかりませんが、インスタンスクラスへの参照が保持されている可能性があります。GCに処理させる方が安全です。PHPではデストラクタが役立つことはめったにありません。

于 2012-09-07T15:20:30.830 に答える
0

何もしないでください。おそらくプロキシとほぼ同時に、ガベージコレクターによって処理されます。

于 2012-09-07T15:01:15.293 に答える