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