PHP Digest No. 171 (1 a 13 de janeiro de 2020)


Nova seleção com links para notícias e materiais. No release: 4 RFCs recentes do PHP Internals e solicitações interessantes de pool no PHP 8, uma parte de ferramentas úteis, podcasts, fluxos e muito mais.

Boa leitura!



Internos em PHP


  • [RFC] Ajustes de sintaxe variável - Um número de inconsistências na sintaxe de variáveis ​​uniformes de RFC de sintaxe variável foi corrigido no PHP 7. Algumas omissões de cancelamento de referência são propostas para serem corrigidas no PHP 8.
  • [RFC] Tipo de retorno estático - a static no contexto de uma declaração de tipo significa ligação estática tardia . Propõe-se tornar possível usá-lo como um tipo de retorno de métodos. Conveniente em interfaces fluidas ou construtores estáticos.
    Texto oculto
     class Test { public function doWhatever(): static { // Do whatever. return $this; } } 
    Para propriedades de classe e parâmetros de método, isso não faz sentido e não funcionará.
  • [RFC] Allow :: class on objects - No PHP 8, é proposto obter o nome completo da classe no $object::class , semelhante à forma como ele funciona agora Foo\Bar::class .
  • [RFC] declaração “use global functions / consts” - Se uma função ou constante for usada sem prefixo, o PHP tentará encontrá-los primeiro no espaço para nome atual e depois no global. O autor sugere que adicionar diretivas use global functions; e use global consts; , que forçará o intérprete a procurar funções e constantes sem prefixos no espaço global por padrão.
  • [RFC] Mapas fracos - a oferta é aceita e o WeakMaps estará disponível no PHP 8.

    Várias alterações estão disponíveis como solicitações de pool:
  • [PR] Descontinuar o parâmetro necessário após opcional - Este aviso sobre o uso do parâmetro necessário após a implementação da assinatura da função opcional:
     function test(FooBar $param = null, $param2) 

    Isso pode fazer sentido antes, mas com tipos anuláveis ​​você pode escrever function test(?FooBar $param, $param2) .
  • [PR] Verificar assinaturas de métodos abstratos provenientes de características - Assinaturas de métodos abstratos de características não são validadas para conformidade com a implementação. Ou seja, esse código agora funciona sem erros:
    Texto oculto
     trait T { abstract function neededByTheTrait(int $a, string $b); } class C { use T; function neededByTheTrait(array $a, object $b) {} } 
    Solicitação de pool corrige esse comportamento.
  • [PR] Garanta assinaturas corretas para métodos mágicos PHP - E neste PR, a verificação de assinaturas de métodos mágicos é implementada. No momento, é apenas para __toString() e __clone() , mas isso, por exemplo, funciona sem erros:
    Texto oculto
     class Foo { function __get(int $name) {} } (new Foo)->{42}; 

As ferramentas



Symfony



Laravel



Zend / laminas



CMS



Materiais de Aprendizagem




Áudio / Vídeo



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. 170

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


All Articles