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热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短