温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

PHP中的弱引用是什么

发布时间:2020-06-21 16:32:25 来源:亿速云 阅读:134 作者:鸽子 栏目:编程语言

介绍

弱引用允许程序员保留对对象的引用,而该对象不会阻止对象被销毁;它们对于实现类似缓存的结构非常有用。它们目前在PHP中得到了扩展支持。

WeakRef目前的实现都是通过重载对象处理程序来实现的,最流行的实现(pecl-weakref)改变了分配给只读内存的堆栈,PHP 7.3将使其不可用。以其他方式更改对象处理程序的其他实现也存在出现故障的风险,并且依赖于未定义的行为和抛弃一致性。

其他实现也是可能的,krakjoe/uref是一个使用低层特性(mprotect、0xCC、信号)来实现weakrefs的实现,但代价是可移植性、生成分段错误、保护内存和隐式信号处理程序限制。

原则上,弱引用对象并不复杂,只需要(ab)使用Zend或下面的层,因为我们不直接支持它。

建议

我们以最简单的方式直接支持弱引用。

API

该API:

final class WeakReference {
    public static function create(object $object) : WeakReference;
 
    public function get() : ?object;
}

向后不兼容的更改

以上就是PHP 7.4中的弱引用(Weak References )的详细内容,更多请关注亿速云其它相关文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI