©
本文档使用
php.cn手册 发布
(PECL weakref >= 0.1.0)
The WeakRef class provides a gateway to objects without preventing the garbage collector from freeing those objects. It also provides a way to turn a weak reference into a strong one.
$object
)
Example #1 WeakRef usage example
<?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!