Php/docs/class.weakref
(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.
Note:
The class WeakRef is not to be confused with the class WeakReference.
类摘要
WeakRef {
public Weakref::__construct
( object $object
)
public Weakref::acquire ( ) : bool
public Weakref::get ( ) : object
public Weakref::release ( ) : bool
public Weakref::valid ( ) : bool
}
范例
Example #1 WeakRef usage example
<?phpclass 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!
Table of Contents
- Weakref::acquire — Acquires a strong reference on that object
- Weakref::__construct — Constructs a new weak reference
- Weakref::get — Returns the object pointed to by the weak reference
- Weakref::release — Releases a previously acquired reference
- Weakref::valid — Checks whether the object referenced still exists
/* 方法 */