PHP文摘149(2019年1月28日至2月11日)


带有新闻和资料链接的新鲜选择。 在发行版中:PHPUnit 8和其他发行版,在审查阶段的PSR-14和PSR-12,用于PHP的JIT,开始在PHP 8上工作,PHP 8是一堆来自PHP Internals的新RFC,一部分有用的工具,等等。

祝您阅读愉快!



新闻与发布



PHP内部


  • 已经创建了一个PHP-7.4分支 ,并且PHP主存储库现在针对PHP 8.0。 这意味着有关PHP 8.0的工作已经开始,并且将并行开发PHP 7.4。 因此,在PHP 8中,已经删除一大堆过时的功能
  • [RFC] JIT-在Dmitry Stogov的努力下,PHP中的JIT的一个古老构想终于找到了实现。 JIT被实现为OPcache的独立部分,即使在运行时也可以打开/关闭。 PHP 8被认为是目标版本,但是可以将它作为默认禁用的实验功能包含在PHP 7.4中。 根据Nikita Popov的基准测试, PHP解析器的 JIT增长了30%, amphp / http-server的增长了5%。 当前没有Windows支持,这在Internals中引起争议。
    同时,您已经可以使用Docker映像尝试PHP + JIT(感谢@dmitrybalabka )。 也是一篇有关JIT对PHP用户意味着什么的好文章。
  • [RFC]内部函数的一致类型错误 -Nikita Popov的另一个RFC。 建议在PHP 8中,当传递错误类型的参数而不是返回并返回null时,所有内置函数都将引发TypeError。
    隐藏文字
    相反:
     var_dump(strlen(new stdClass)); // Warning: strlen() expects parameter 1 to be string, object given // NULL 

    将是:

     declare(strict_types=1); var_dump(strlen(new stdClass)); // TypeError: strlen() expects parameter 1 to be string, object given 

  • [RFC] RFC工作流程和投票(2019年更新) -试图在某种程度上收紧RFC投票并使程序官僚化,这引起了Internals的批评。 如此之多以至于出现了其他建议 。 Zeev Surasky 答应修改他的版本并考虑到批评。
  • [RFC]弱引用 -建议添加WeakReference类以实现弱链接,这将允许开发人员将链接保存到对象,同时又不阻止垃圾收集器将其删除。 这对于所有类型的缓存特别有用。
  • [RFC]允许void返回类型差异 -一种提议,以实现在继承方法中重写void返回类型的功能。 出现在更改PHPUnit 8中的setUp()方法的签名以及其他几个签名的过程中。
    隐藏文字
     class Foo { function method1 (): void {} function method2 () {} } class Bar extends Foo { function method1 (): array { return []; } function method2 (): array { return []; } } class Baz extends Foo { function method1 () { return 42; } function method2 () { return 42; } } 
  • [RFC]混合类型提示 -在这里建议添加mixed提示。 这将表明该函数可以接受(或返回)不同类型的值。
  • [RFC]注释2.0-完整注释的建议草案。 已经尝试实现简单的注释属性 。 同时,您可以使用PhpStorm中出色的注释插件

工具



Symfony



拉拉韦尔



i



异步php



内容管理系统



学习资料



感谢您的关注!

如果您发现错误或不准确,请在PM中通知我。
问题和建议写在邮件推特上

有关PHP Digest Telegram Channel的更多新闻和评论。

发送链接
搜索所有摘要的链接
先前版本:PHP文摘148

Source: https://habr.com/ru/post/zh-CN439780/


All Articles