WeakRef (class)

The WeakRef class

Introduction

(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.

Class synopsis

WeakRef {

/* Methods */

public Weakref::__construct ( object $object )

public bool Weakref::acquire ( void )

public object Weakref::get ( void )

public bool Weakref::release ( void )

public bool Weakref::valid ( void )

}

Examples

Example #1 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!

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

← Resource Types

Weakref::acquire →

© 1997–2017 The PHP Documentation Group

Licensed under the Creative Commons Attribution License v3.0 or later.

https://secure.php.net/manual/en/class.weakref.php