文字

Weakref::release

(PECL weakref >= 0.1.0)

Weakref::releaseReleases 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 TRUE if the reference was previously acquired and thus could be released, FALSE otherwise.

范例

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 );
?>

以上例程会输出:

Unsetting o1...
Unsetting o2...
Destroying object!

参见

  • Weakref::acquire() - Acquires a strong reference on that object
上一篇: 下一篇: