当前位置: 首页 > news >正文

PHP 8.4有哪些新功能值得关注

  1. 属性钩子(Property Hooks)
    • 允许开发者为每个属性定义自己的getset钩子,以在属性访问前后添加自定义逻辑。
    • 属性钩子通过__get()__set()方法实现,类似于其他编程语言(如Kotlin、C#和Swift)中的属性访问器。
    • 这是一个重要的变化,旨在减少大量的getter和setter方法的编写,提高代码的可读性和可维护性。
    • 钩子是可选的,不必在特定属性上同时添加两个钩子。例如,只有get钩子的属性可以被视为虚拟属性。
  2. JIT(即时编译)改进
    • PHP 8.4引入了基于IR(中间表示)框架的新JIT实现,旨在提高代码的执行效率。
    • JIT编译器可以将热点代码(即频繁执行的代码)编译成直接可执行的机器码,从而提高执行效率。
    • 配置JIT的方式也有所改变,现在可以直接通过opcache.jit参数启用或禁用JIT。
  3. DOM扩展升级
    • PHP 8.4的DOM扩展支持HTML5的解析和序列化,这意味着在处理HTML5特定标签或在JavaScript中嵌入HTML时将更加方便。
    • 使用新的DOM\HTMLDocument类,可以轻松地从字符串或文件中创建HTML文档,并符合现代Web标准。
  4. bcrypt加密成本的增加
    • 在PHP 8.4中,bcrypt的默认加密成本已增加到12。
    • 这意味着bcrypt加密的迭代次数增加,从而增强了密码的安全性,使其更难被破解。
  5. 更好的链式调用
    • PHP 8.4支持在不使用额外括号的情况下进行链式调用,这有助于减少代码的冗余并提高可读性。
    • 例如,在PHP 8.4中,可以像这样链式调用方法:$name = new ReflectionClass($objectOrClass)->getShortName();
  6. 增强的多字节字符串处理
    • 虽然不是PHP 8.4直接引入的新功能,但相关的第三方库和扩展提供了更好的多字节字符串处理能力。
    • 这些库和扩展可以帮助开发者更好地处理包含多字节字符的字符串,避免在字符串处理过程中出现错误。
  7. 其他性能优化和改进
    • PHP 8.4还包含了一些其他的性能优化和改进,这些改进旨在提高PHP的整体性能和稳定性。
  8. 弃用和移除的功能
    • PHP_ZTS 和 PHP_DEBUG 常量值类型从int改为bool。
    • Implicitly nullable parameter declarations(隐式可为空的参数声明)被弃用。
    • Curl: CURLOPT_BINARYTRANSFER 被弃用。
http://www.lryc.cn/news/377600.html

相关文章:

  • PyCharm新手入门
  • [Linux] 系统管理
  • Xcode无法使用设备:Failed to prepare the device for development
  • AWS无服务器 应用程序开发—第十二章 AWS Step Functions
  • Linux tcpdump详解
  • vue2实现打印功能(vue-print-nb的实现)
  • 某全国增值税发票查验平台 接口JS逆向
  • 前端练习小项目——视觉冲击卡片
  • 从0到1:手动测试迈向自动化——手机web应用的自动化测试工具
  • 磁盘未格式化:深度解析、恢复策略与预防措施
  • Qwen2在Java项目中如何实现优雅的Function_Call工具调用
  • 【SPIE独立出版 | 往届均已完成EI检索】2024云计算、性能计算与深度学习国际学术会议(CCPCDL 2024)
  • MYSQL 四、mysql进阶 4(索引的数据结构)
  • 360vr党建线上主题展立体化呈现企业的文化理念和品牌形象
  • docker通过容器id查看运行命令;Portainer监控管理docker容器
  • XMind 2024软件最新版下载及详细安装教程
  • 代码随想录算法训练营第四十四天 | 322. 零钱兑换、279.完全平方数、139.单词拆分、多重背包理论基础、背包问题总结
  • 开源AGV调度系统OpenTCS中的路由器(router)详解
  • 关于下载 IDEA、WebStorm 的一些心得感想
  • C#使用Scoket实现服务器和客户端互发信息
  • 【经验分享】SpringCloud + MyBatis Plus 配置 MySQL,TDengine 双数据源
  • Pycharm 忽略文件
  • 爬虫学习。。。。
  • 美国铁路客运巨头Amtrak泄漏旅客数据,数据销毁 硬盘销毁 文件销毁
  • LabVIEW与Matlab联合编程的途径及比较
  • 秋招突击——6/16——复习{(单调队列优化DP)——最大子序和,背包模型——宠物小精灵收服问题}——新作{二叉树的后序遍历}
  • SAR动目标检测系列:【4】动目标二维速度估计
  • JavaEE多线程(2)
  • 中新赛克两款数据安全产品成功获得“可信数安”评估测试证书
  • 代码随想录——分割回文串(Leetcode 131)