Weakref::release

(PECL weakref >= 0.1.0)

Weakref::release確保した参照を解放する

説明

public Weakref::release ( void ) : bool

確保した参照を解放します。強い参照を、元の弱い参照に戻すことになります。

Weakref は内部的な確保カウンタを管理して、 未処理の強い参照を追跡します。 Weakref::release() の呼び出しが成功すると、このカウンタがひとつ減ります。 カウンタがゼロになると、強い参照が弱い参照に戻ります。

パラメータ

この関数にはパラメータはありません。

返り値

先に確保した参照を解放できた場合に TRUE、それ以外の場合に FALSE を返します。

例1 Weakref::release() の例

<?php
class MyClass {
    public function 
__destruct() {
        echo 
"Destroying object!\n";
    }
}

$o1 = new MyClass;

$r1 = new Weakref($o1);

$r1->acquire();

echo 
"Unsetting o1...\n";
unset(
$o1);

$o2 $r1->get();

$r1->release();

echo 
"Unsetting o2...\n";
unset(
$o2);
?>

上の例の出力は以下となります。

Unsetting o1...
Unsetting o2...
Destroying object!

参考