WEAKREF(3) 1 WEAKREF(3)
The WeakRef class
INTRODUCTION
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.
CLASS SYNOPSIS
WeakRef
WeakRef
Methods
o public Weakref::__construct (object $object)
o public bool Weakref::acquire (void )
o public object Weakref::get (void )
o public bool Weakref::release (void )
o public bool Weakref::valid (void )
EXAMPLES
Example #1
WeakRef usage example
<?php
class MyClass {
public function __destruct() {
echo "Destroying object!
";
}
}
$o1 = new MyClass;
$r1 = new WeakRef($o1);
if ($r1->valid()) {
echo "Object still exists!
";
var_dump($r1->get());
} else {
echo "Object is dead!
";
}
unset($o1);
if ($r1->valid()) {
echo "Object still exists!
";
var_dump($r1->get());
} else {
echo "Object is dead!
";
}
?>
The above example will output:
Object still exists!
object(MyClass)#1 (0) {
}
Destroying object!
Object is dead!
PHP Documentation Group WEAKREF(3)