PHP注释每月

PHP注释- 2021年8月

PHP注释每月

问候大家!
PHP 8.1已经到达了第二个测试版,更改列表已经完成。剩下要决定的最后一点是交集类型的可为空性,目前正在进行投票。

与此同时,PHP内部已经在讨论下一个版本的特性。继续阅读,了解PHP 8.2的前两个rfc,它将于2022年发布。

由于PHP 8.1将拥有纤程,两个流行的PHP异步框架已经同意联合起来共享抽象。

你可以在8月版的PHP注释中阅读更多关于这一新闻。像往常一样,我们为您精心挑选了一系列的文章、工具、视频和流媒体。

⚡️新闻

  • PHP 8.1.0, Beta 2

    beta版的发布标志着PHP 8.1活跃开发阶段的结束,这意味着新特性和更改的列表可以被认为是最终的(除了可为空的交集类型)。第三个也是最后一个预计8月19日


    图像中彼得Kokot

    那么PHP 8.1中会出现什么呢?
    以下是一些最显著的变化:

    • 枚举(RFC).
    • 一流的可调用的(RFC).
    • 只读的属性(RFC).
    • 初始化式中的New操作符(RFC).
    • 全新的never类型用于返回值(RFC).
    • 纤维(RFC).
    • 类中的最终常量(RFC).
    • 扩展运算符支持字符串数组键(RFC).
    • 隐式非整型兼容浮点到int转换的弃用(RFC).
    • 可序列化接口的弃用(RFC).
    • 带有0前缀的显式八进制表示法(RFC).
    • 限制使用$GLOBALS (RFC).

    如果你想了解更多,请查看这个令人敬畏的汇编PHP 8.1“之前”和“之后”的例子。

    布伦特·卢斯还有一份为期10天的时事通讯:PHP 8.1之路

    所有更改的完整描述可以在PHP上找到。看:php.watch /版本/ 8.1

    PHP。手表上也有一个贴子PHP 8.1中上传的目录-在PHP 8.1带有_file美元数组将包含一个带有来自用户的目录结构路径的full_path部分。这是支持目录上传所必需的。

  • ReactPHP和Amp联手

    通过在PHP 8.1中添加纤程,异步PHP代码可能会更简单、更漂亮一些。两个流行的异步PHP库的维护者宣布了RevoltPHP项目。他们计划创建一个公共事件循环,并在光纤上实现共享抽象。

  • PhpStorm 2021.2已被释放

    查看这篇博客文章,它包含了泛型支持、枚举、数组形状以及在这个版本中将要引入的所有其他内容的所有细节。

  • PHP 7.4.22PHP 8.0.9

    当前分支的安全性和bug修复更新。

PHP内部

  • [RFC] Nullable交集类型

    在十字路口采用RFC后不久,Nikolas Grekas (Symfony core)发表了一条评论。他说如果没有使它们为空的能力,交点就没有那么有趣了。

    从技术上讲,PHP 8.1分支已经冻结了,但是PHP团队决定为这个提议做一个例外。

    类Foo {public (X&Y)|null $bar;函数setBar((X&Y)|null $bar = null): (X&Y)|null {return $this->bar = $bar;} }

    语法选择也要进行投票:用户?(用户)| null
  • 在foreach后面打开引用

    在PHP的当前版本中,没有专门的作用域foreach循环。这有一个非常违反直觉的结果:引用美元的价值即使在foreach循环结束后,数组的最后一个元素仍然保留。

    这个问题很容易用下面的例子来说明:

    $array = [0,1, 2];Foreach ($array as &$value){/*…*/} //不调用unset($value), // $value仍然指向最后一个元素:/ /前RFC: >阵列(3){[0]= > int (0) [1] = > int (1) [2] = > int(1)} / /后RFC: >数组(3){[0]= > int (0) [1] = > int (1) [2] = > int (2)}

    这个RFC为这个逻辑上正确但看起来有缺陷的行为提出了一个修复。后foreach循环时,引用美元的价值将被删除。
  • [RFC]从不用于参数类型

    在PHP 8.1中将有一个新类型,从来没有,用于返回值。对于PHP 8.2,已经有一个建议可以使用从来没有作为参数的类型。

    RFC的作者Jordan LeDoux认为从来没有将在抽象类和接口中有用。您可以使用它来指定必须以某种方式键入参数。

    这有助于模仿泛型的行为。然而,对于静态分析器和PhpStorm,你仍然需要求助于PHPDoc中的类型描述。

    interface CollectionInterface {public function add(never $input): self;}类A实现CollectionInterface {public function add(int $input): self {}}

工具

  • frontdevops / php-evil—要禁用的扩展eval ().事实证明eval ()不是函数,而是语言结构,所以呢disable_functions将无助于阻止它。所以作者不得不写自己的微扩展。
  • beyondcode /暴露2.0一个很酷的工具,可以将本地服务偷偷带入世界。这对于测试webhook或演示应用程序应该很有用。
  • EcotoneFramework-一个有趣的服务总线,用于DDD、CQRS和PHP中的事件溯源。它工作在PHP 8+通过属性,与好的文档Laravel和Symfony的集成。这是一个例子一个CQRS实现。
  • PHP-CSS-Parser-一个用PHP编写的CSS文件解析器。这允许将CSS文件提取到一个数据结构中,对该结构进行操作,并将输出作为(优化的)CSS。
  • 诗篇4.9.0这是继作者Matt Brown之后的第一个社区版本,离开项目
  • ergebnis / composer-normalize-一个插件的作曲家,使composer.json文件看起来很漂亮。
  • paragonie / paseto 2.0-无状态令牌,JWT的安全替代。
  • chrome-php /铬v1.0.0-一个包控制铬/铬在无头模式。
  • darsyn / ip-用于使用IP地址的不可变值对象,包括Doctrine的助手
  • MadLisp-用PHP编写的Lisp解释器。

Symfony

Laravel

Yii

PhpStorm

Misc

视频


感谢阅读,我们希望你有一个美好的一天!

如果你有任何有趣或有用的链接通过PHP注释分享,请在这篇文章上留下评论或给我推特

订阅PHP注释

你的JetBrains PhpStorm团队
发展的动力