首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Weakref::release

(PECL weakref >= 0.1.0)

Weakref::release — Releases a previously acquired reference

Description

代码语言:javascript
复制
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

代码语言:javascript
复制
<?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:

代码语言:javascript
复制
Unsetting o1...
Unsetting o2...
Destroying object!

See Also

  • Weakref::acquire() - Acquires a strong reference on that object

← Weakref::get

Weakref::valid →

代码语言:txt
复制
 ? 1997–2017 The PHP Documentation Group

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

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com