PHP WeakReference类
介绍
使用弱引用,可以保留对对象的引用,这不会阻止对象被破坏。可以通过弱引用来实现类似缓存的结构。
弱引用类似于普通引用,不同之处在于它不会阻止垃圾收集器收集对象。如果找不到对该对象的强引用,则它将立即从内存中删除。这样,可以实现高速缓存的大多数优点,而不会出现内存问题。
PHP7.4中引入了WeakReference类。在此版本之前,弱引用扩展曾获得相同的效果。WeakReference类具有以下结构
语法
WeakReference {
/* Methods */
public __construct ( void )
public static create ( object $referent ) : WeakReference
public get ( void ) : ?object
}方法
publicWeakReference::__construct(void)—禁止实例化WeakReference类。可以使用工厂方法WeakReference::create()实例化它。
公共静态WeakReference::create(对象$referent):WeakReference—创建一个新的WeakReference。
publicWeakReference::get(void):?object—获取一个弱引用的对象。如果对象已被销毁,则返回NULL。
发电机实例
以下示例具有myclass对象。对其对象的WeakReference显示了一个参考。然后取消设置对象。现在,WeakReference返回NULL
示例
<?php
class myclass{
function Hello(){
echo "Hello";
}
}
$obj = new myclass();
$ref = WeakReference::create($obj);
var_dump($ref->get());
unset($obj);
var_dump($ref->get());
?>输出结果
上面的程序显示以下输出
object(myclass)#1 (0) {
}
NULL热门推荐
6 保研的祝福语简短
10 年轻20岁祝福语简短
11 朋友结婚祝福语信息简短
12 女孩婚礼贺卡祝福语简短
13 30段点歌简短祝福语
14 虎年春节祝福语图文简短
15 写给后妈祝福语大全简短
16 简短回复生日祝福语
17 校长送毕业祝福语简短
18 毕业立体贺卡祝福语简短