(PECL weakref >= 0.1.0)
Examples:
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"; } ?>
The above example will output:
Object still exists! object(MyClass)#1 (0) { } Destroying object! Object is dead!