(PECL weakref >= 0.1.0)
Weakref::__construct — 弱い参照を新しく作る
$object
] )弱い参照を新しく作ります。
object
参照するオブジェクト。
値を返しません。
例1 Weakref::__construct() の例
<?php
class MyClass {
public function __destruct() {
echo "Destroying object!\n";
}
}
$o1 = new MyClass;
$r1 = new Weakref($o1);
if ($r1->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";
}
?>
上の例の出力は以下となります。
Object still exists! object(MyClass)#1 (0) { } Destroying object! Object is dead!