PHP Annotated——2023 年 12 月

欢迎来到 PHP Annotated 十二月!在这期中,我们回顾了过去一个月 PHP 社区中最有趣的发展,精选了新闻、文章、工具和视频。

亮点

PHP 核心

大部分核心新闻都在 PHP 基金会的 PHP 核心摘要系列中有详细报道,因此这里只包含一些简要提及:

  • [RFC: #[NotSerializable]](https://wiki.php.net/rfc/not_serializable)
    Max Semenik 提议新增 #[NotSerializable] 注解以防止对类进行序列化。目前,要实现类似的行为,需要在 __wake()__sleep() 中抛出异常。如果接受此 RFC,代码将更清晰,更适合静态分析器进行分析。

    #[NotSerializable]class MyClass
    {
    }
    
    serialize(new MyClass()); // Exception: Serialization of 'MyClass' is not allowed
  • RFC: 政策库
    目前,有关 RFC 投票、发布流程、安全等级和命名准则的政策都存储在不同的地方。

    Derick Rethans 提议建立新的 Git 存储库,将所有政策集中到一个地方。

  • RFC: final 匿名类
    RFC 已驳回,一部分原因是投票问题不明确。
    反馈后,Daniil Gentili 提出了新的 RFC:默认 final 匿名类

    建议默认将所有匿名类设置为 final,并在需要时提供新的 open 关键字使其成为非 final。这类似于 Kotlin 的 new open class{}。该提案被接受的可能性似乎非常低。

  • RFC: 改变默认如何禁用 JIT
    目前,当 opcache.jit_buffer_size 设置为 0 时,禁用 JIT。PHP 8.4 将为此设置单独的选项,默认值为:opcache.jit=disable
  • PR: 不带括号的 new MyClass()->method()
    Valentin Udaltsov 建议移除对象初始化表达式中不必要的括号,这在 X(以前称为“Twitter”)上引发了激烈的讨论。
  • 2024 年将发布新的 PECL
    PHP 基金会即将重新设计 PHP 中扩展的安装方式。

    目前,扩展是使用 pecl.php.net 旧网站和 pecl 工具分发的。目标是提供一个更易于用户和扩展维护者使用的现代化替代方案。

工具

Symfony

Laravel

其它框架

杂项

好玩

会议

这些 PHP 活动都值得参加(而且可以自由地向其中任何一个活动申请成为演讲者):


PHPers,节日快乐!

如果有任何有趣或有用的链接可以通过 PHP Annotated 分享,请在本文中发表评论或向我们发送推文

你可能感兴趣的:(PHP Annotated——2023 年 12 月)