弱い参照
Weakref
&reftitle.intro;
一時的なオブジェクトへの、非侵入型のゲートウェイを提供します。
通常の (強い) 参照とは異なり、弱い参照はガベージコレクタがオブジェクトを解放するのを邪魔しません。
そのため、オブジェクトが破棄された後でもそのオブジェクトへの弱い参照が残っている可能性があります。
そんな場合は、弱い参照は自動的に無効になります。
Weakref の使用例
valid()) {
echo "Object still exists!\n";
var_dump($r1->get());
} else {
echo "Object is dead!\n";
}
unset($o1);
if ($r1->valid()) {
echo "Object still exists!\n";
var_dump($r1->get());
} else {
echo "Object is dead!\n";
}
?>
]]>
&example.outputs;
&reference.weakref.setup;
&reference.weakref.weakref;
&reference.weakref.weakmap;