PHP Digest No. 155 (22 de abril a 6 de maio de 2019)


Nova seleção com links para notícias e materiais. Na versão: atualizações do PHP, Codeception 3.0 e outras versões, lambdas curtas no PHP 7.4 e uma visão geral das frases RFC mais recentes da PHP Internals, uma porção de ferramentas úteis e muito mais.

Boa leitura!



Notícias e Lançamentos


  • PHP 7.3.5
  • PHP 7.2.18
  • PHP 7.1.29
  • Codeception 3.0 - Console interativo aprimorado, repetir etapas, suporte para PHPUnit 8 e mais.
  • spiral / roadrunner 1.4.0 - Atualizando o servidor de aplicativos, o balanceador e o gerenciador de processos no Go. A versão inclui uma parada segura para os trabalhadores, suporte para variáveis ​​de ambiente nas configurações, a capacidade de controlar trabalhadores em um pool e muito mais. Há um novo site roadrunner.dev .
  • PHP Rússia 2019-17 de maio de Moscou, Infospace. Restam apenas alguns dias até o último aumento de preço.

Internos em PHP


  • [RFC] Arrow Functions 2.0 - A proposta foi aprovada e aceita. Agora, no PHP, haverá breves funções anônimas usando a sintaxe fn() => e capturando automaticamente variáveis ​​de um escopo externo por valor:
     $y = 1; $fn = fn($x) => $x + $y; 

    Até agora, as funções podem ter apenas uma expressão estritamente, cujo resultado será retornado. Funções multilinhas podem ser implementadas posteriormente. Hack usando o operador && como em JS não funcionará:
    Texto oculto
     andOperator = ($x) => ($y = 10) && $x + $y; console.log(andOperator(5)); // 15 
     $andOperator = fn($x) => ($y = 10) && $x + $y; var_dump($andOperator(5)); // bool(true) 
    Mas você pode aplicar o hack usando end() :
    Texto oculto
     <?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) 

    Ou usando array_slice() , graças a Grikdotnet pela dica :
    Texto oculto
     $multipleLines = fn($x) => array_slice([ $y = $x * 10, $z = $y + 15, $x + $y + $z ], -1)[0]; var_dump($multipleLines(1)); // int(36) 

  • [RFC] Descontinuar tags curtas abertas do PHP - A proposta abordou a idéia de remover a possibilidade de usar tags curtas <? No entanto, foi recebido por uma tempestade de indignação e controvérsia. Portanto, foi proposta uma maneira muito mais branda , na qual nas próximas versões a oportunidade permanece disponível como está e um aviso de descontinuação será lançado.
  • [RFC] Operador de propagação na expressão de matriz - Proposta aceita quase por unanimidade. O operador ... agora estará disponível em matrizes.
    Texto oculto
     $parts = ['apple', 'pear']; $fruits = ['banana', 'orange', ...$parts, 'watermelon']; // ['banana', 'orange', 'apple', 'pear', 'watermelon']; 
    Além disso, usando-o, você pode converter rapidamente um iterador em uma matriz, em vez de usar iterator_to_array :
     $array = [...$iter]; 
  • RFC: Permite lançar exceções de __toString () - Nikita continua corrigindo sistematicamente a "tristeza do PHP" uma por uma. Desta vez, estamos falando sobre a capacidade de lançar uma exceção em __toString() . Outra melhoria agradável e nada trivial para o PHP 7.4, que elimina a necessidade de usar todos os tipos de soluções alternativas 1 , 2 .
  • audio PHP Internals News # 7 - Derick Rethans conversa com Zeev Surasky sobre o JIT no PHP 8 e tentativas anteriores de implementação.
  • audio PHP Internals News # 8 - Conversa com George Banyard, colaborador da documentação do PHP, em tags curtas.

As ferramentas



Symfony



Laravel



Yii



Async php



Materiais de Aprendizagem



Obrigado pela atenção!

Se você perceber um erro ou imprecisão - informe-me no PM .
Perguntas e sugestões escreva para o correio ou twitter .

Mais notícias e comentários no canal PHP Digest Telegram.

Enviar link
Pesquisar links para todos os resumos
← Versão anterior: PHP Digest No. 154

Source: https://habr.com/ru/post/pt450642/


All Articles