PHP 7.4中的弱引用(Weak References )

介绍

弱引用允许程序员保留对对象的引用,而该对象不会阻止对象被销毁;它们对于实现类似缓存的结构非常有用。它们目前在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;
}

向后不兼容的更改

没有。

翻译:https://wiki.php.net/rfc/weakrefs

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

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

  • 相关标签:PHP 7.4
  • 程序员必备接口测试调试工具:点击使用

    Apipost = Postman + Swagger + Mock + Jmeter

    Api设计、调试、文档、自动化测试工具

    网页生成APP,用做网站的技术去做APP:立即创建

    手机网站开发APP、自助封装APP、200+原生模块、2000+映射JS接口按需打包

    • 上一篇:PHP 7.4中的数值文字分隔符(Numeric Literal Separator )
    • 下一篇:PHP 7.4允许从 __toString() 抛出异常

    相关文章

    相关视频


    • PHP 7.4中的箭头函数(Arrow Funct...
    • PHP 7.4中的类型属性(Typed Prope...
    • PHP 7.4中的预加载(Opcache Prel...
    • PHP 7.4中的数值文字分隔符(Numeric ...
    • PHP 7.4中的弱引用(Weak Referen...
    • PHP7新增常量
    • PHP7INI配置文件修改
    • PHP7windows支持
    • PHP7其他修改

    视频教程分类

    • php视频教程
    • html视频教程
    • css视频教程
    • JS视频教程
    • jQuery视频教程
    • mysql视频教程
    • Linux视频教程
    • Python视频教程
    • Laravel视频教程
    • Vue视频教程

    专题

    PHP 7.4中的弱引用(Weak References )