(PECL weakref >= 0.1.0)
Releases a previously acquired reference
public bool Weakref::release ( void )
Releases a previously acquired reference, potentially turning a strong reference back into a weak reference.
The Weakref instance maintains an internal acquired counter to track outstanding strong references. If the call to Weakref::release() is successful, this counter will be decremented by one. Once this counter reaches zero, the strong reference is turned back into a weak reference.
Returns:
Returns TRUE
if the reference was previously acquired and thus could be released, FALSE
otherwise.
Examples:
Weakref::release() example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | <?php class MyClass { public function __destruct() { echo "Destroying object!\n" ; } } $o1 = new MyClass; $r1 = new Weakref( $o1 ); $r1 ->acquire(); echo "Unsetting o1...\n" ; unset( $o1 ); $o2 = $r1 ->get(); $r1 ->release(); echo "Unsetting o2...\n" ; unset( $o2 ); ?> |
The above example will output:
Unsetting o1... Unsetting o2... Destroying object!
See also:
Please login to continue.