(PECL weakref >= 0.1.0)
Examples:
WeakRef usage example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | <?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" ; } ?> |
The above example will output:
Object still exists! object(MyClass)#1 (0) { } Destroying object! Object is dead!