PHP摘要155号(2019年4月22日至5月6日)


带有新闻和资料链接的新鲜选择。 在发行版中:PHP更新,Codeception 3.0和其他发行版,PHP 7.4中的简短lambda和PHP Internals的最新RFC句子概述,一部分有用的工具等等。

祝您阅读愉快!



新闻与发布



PHP内部


  • [RFC]箭头功能2.0-提案已通过表决并被接受。 现在在PHP中,将使用语法fn() =>简短地匿名函数,并通过值自动从外部作用域捕获变量:
     $y = 1; $fn = fn($x) => $x + $y; 

    到目前为止,函数只能严格具有一个表达式,其结果将返回。 多行功能可能会在以后实现。 使用JS中的&&运算符进行hack无效:
    隐藏文字
     andOperator = ($x) => ($y = 10) && $x + $y; console.log(andOperator(5)); // 15 
     $andOperator = fn($x) => ($y = 10) && $x + $y; var_dump($andOperator(5)); // bool(true) 
    但是您可以使用end()来应用hack:
    隐藏文字
     <?php function last(...$args) { return end($args); } $multipleLines = fn($x) => last( $y = $x * 10, // 10 $z = $y + 15, // 25 $x + $y + $z // 1 + 10 + 25      last() ); var_dump($multipleLines(1)); // int(36) 

    或使用array_slice() ,感谢Grikdotnet提示
    隐藏文字
     $multipleLines = fn($x) => array_slice([ $y = $x * 10, $z = $y + 15, $x + $y + $z ], -1)[0]; var_dump($multipleLines(1)); // int(36) 

  • [RFC]弃用PHP短标签 -该提案提出了消除使用短标签的可能性的想法<? 然而,这引起了愤怒和争议。 因此,提出了一种更为温和的方法 ,其中在下一个版本中,机会仍然可用,并且将引发弃用警告。
  • [RFC]数组表达式中的Spread运算符 -提案几乎被一致接受。 现在,运算符...将以数组形式提供。
    隐藏文字
     $parts = ['apple', 'pear']; $fruits = ['banana', 'orange', ...$parts, 'watermelon']; // ['banana', 'orange', 'apple', 'pear', 'watermelon']; 
    另外,使用它,您可以快速将迭代器转换为数组,而不是使用iterator_to_array
     $array = [...$iter]; 
  • RFC:允许从__toString()引发异常-Nikita继续系统地一一修复“ PHP的悲伤” 。 这次我们讨论的是在__toString()引发异常的功能。 PHP 7.4的另一个不错但一点也不微不足道的改进,它消除了使用各种变通方法1,2的需要。
  • 音讯 PHP内部新闻#7 -Derick Rethans与Zeev Surasky讨论了PHP 8中的JIT和更早的实现尝试。
  • 音讯 PHP Internals News#8-与PHP文档贡献者George Banyard的简短标签交谈。

工具



Symfony



拉拉韦尔



i



异步php



学习资料



感谢您的关注!

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

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

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

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


All Articles