Weakref::release
Weakref::release
(PECL weakref >= 0.1.0)
Weakref::release — Releases a previously acquired reference
Description
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.
Parameters
This function has no parameters.
Return Values
Returns TRUE
if the reference was previously acquired and thus could be released, FALSE
otherwise.
Examples
Example #1 Weakref::release() example
<?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
- Weakref::acquire() - Acquires a strong reference on that object
← Weakref::get
Weakref::valid →
© 1997–2017 The PHP Documentation Group
Licensed under the Creative Commons Attribution License v3.0 or later.