(PECL weakref >= 0.1.0)
Weakref::release — 確保した参照を解放する
確保した参照を解放します。強い参照を、元の弱い参照に戻すことになります。
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!