Nova seleção com links para notícias e materiais. No lançamento: PHPUnit 8 e outros lançamentos, PSR-14 e PSR-12 na fase de revisão, JIT para PHP, começaram a trabalhar no PHP 8, um monte de RFC novo da PHP Internals, uma porção de ferramentas úteis e muito mais.
Boa leitura!
Notícias e Lançamentos
Internos em PHP
- Uma ramificação do PHP-7.4 foi criada e o repositório principal do PHP agora está direcionado para o PHP 8.0. Isso significa que o trabalho no PHP 8.0 já foi iniciado e o PHP 7.4 será desenvolvido em paralelo. Portanto, no PHP 8, vários recursos obsoletos já foram removidos .
- [RFC] JIT - Uma idéia antiga do JIT em PHP finalmente encontrou implementação graças aos esforços de Dmitry Stogov. O JIT é implementado como uma parte independente do OPcache e pode ser ativado / desativado mesmo em tempo de execução. O PHP 8 é considerado como a versão de destino, mas é possível incluí-lo no PHP 7.4 como um recurso experimental desabilitado por padrão. De acordo com os benchmarks de Nikita Popov, o JIT oferece um aumento de 30% para o PHP-Parser e cerca de 5% para o servidor anfph / http . Atualmente, não há suporte para Windows, o que é controverso no Internals.
Enquanto isso, você já pode experimentar o PHP + JIT usando imagens do Docker (obrigado @dmitrybalabka ). Também um ótimo post sobre o que JIT significa para usuários de PHP . - [RFC] Erros de tipo consistente para funções internas - Outro RFC de Nikita Popov. É sugerido que, no PHP 8, todas as funções internas lançem um TypeError quando parâmetros do tipo errado são passados em vez de vorning e retornando
null
.Texto ocultoEm vez disso:
var_dump(strlen(new stdClass));
Será:
declare(strict_types=1); var_dump(strlen(new stdClass));
- [RFC] Fluxo de trabalho e votação da RFC (atualização de 2019) - Tentativa de apertar um pouco a votação da RFC e burocratizar o processo foi recebido com uma tempestade de críticas na Internals. Tanto é assim que surgiram propostas alternativas . Zeev Surasky prometeu revisar sua versão e levar em consideração as críticas.
- [RFC] Weak References - Propõe-se adicionar a classe
WeakReference
para implementar links fracos, o que permitirá que o desenvolvedor salve o link no objeto, sem impedir que ele seja removido pelo coletor de lixo. Isso pode ser especialmente útil para todos os tipos de caches. - [RFC] Permitir variação do tipo de retorno nulo - Uma proposta para implementar a capacidade de substituir o tipo de retorno
void
nos seus métodos. Apareceu na trilha de alterar a assinatura do método setUp()
e vários outros no PHPUnit 8.Texto oculto 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] Dica de tipo misto - E aqui é proposto adicionar uma dica de tipo
mixed
. Isso indicará que a função pode aceitar (ou retornar) valores de diferentes tipos. - [RFC] Anotações 2.0 - Sugestões de rascunho para anotações completas. Já houve tentativas de implementar anotações e atributos simples . Enquanto isso, você pode usar o excelente plugin de anotação no PhpStorm .
As ferramentas
Symfony
Laravel
Yii
Async php
CMS
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. 148