PHP Digest No. 148 (14 a 28 de janeiro de 2019)


Nova seleção com links para notícias e materiais. Na edição: invadimos o repositório PEAR, sobre o futuro do Xdebug, a conferência PHP Rússia 2019, lançamentos recentes, a RFC oferece da PHP Internals, uma porção de ferramentas úteis e muito mais.

Boa leitura!



Notícias e Lançamentos


  • O repositório PEAR foi invadido - O site pear.php.net ficou offline e ainda não funciona. Sabe-se que o código malicioso foi injetado no arquivo go-pear.phar. Você corre o risco de baixar esse arquivo manualmente após 20/12/2018. Para verificar, você precisa baixar um arquivo “limpo” do GitHub e comparar as somas de verificação. Existe um script para automação. Se você usou o SO com PHP pré-instalado ou instalado usando o gerenciador de pacotes, é altamente improvável que você já tenha usado o go-pear.phar. Enquanto o site estiver fora do ar, existem soluções alternativas para instalar pacotes PEAR e criar PHP a partir do código-fonte .
  • O futuro do Xdebug - Postado por Xdebug Derick Rethans sobre questões de dívida técnica e expansão. Ele deixa o MongoDB , onde trabalhou nos últimos 7 anos. Em um futuro próximo, ele pretende se dedicar à refatoração e aprimoramento do Xdebug, e também está procurando formas de financiamento. Você pode apoiar Derik no seu Patreon .
  • Quem paga pelo desenvolvimento do PHP? - No final do post, diz-se que a organização igphp.de , juntamente com alguns membros importantes da equipe PHP, estão planejando uma solução para o problema de financiamento e suporte ao PHP, e em breve o anunciará.
  • Perforce absorverá o Rogue Wave Software
  • PhpStorm 2019.1 EAP - Lançamento do programa PhpStorm Early Access, graças ao qual você pode ser o primeiro a experimentar os novos recursos do IDE gratuitamente. Entre as inovações: depuração de modelos Twig, a capacidade de classificar importações (usar expressões), suporte ao phpcbf para corrigir erros de estilo e muitas outras melhorias.
  • ru Onliner PHP Meetup # 3 - Minsk, 9 de fevereiro.
  • ru PHP Rússia 2019 - 17 de maio em Moscou sediará uma conferência PHP especializada!
    Sobre como a idéia surgiu e sobre a equipe pode ser lida no post de Alexander Makarov . Os pedidos de relatórios estão em pleno andamento. E também no Telegram, o canal oficial @PHPRussiaConfChannel e bate-papo com @PHPRussiaConfTalks com discussões estão disponíveis.

Internos em PHP


  • [RFC] Operador de atribuição de coalescência nula - A proposta foi aceita há mais de dois anos. E agora a implementação do operador combinado com a verificação de null ??= finalmente concluída e renderizada. Apesar da aparente simplicidade da tarefa, a implementação acabou sendo muito pouco trivial .
    Total: $a ??= $b equivalente a $a ?? ($a = $b) $a ?? ($a = $b) . No caso de $a[foo()] ??= bar() função foo() será chamada exatamente uma vez e bar() será chamada se $a[foo()] for null (ou não definido).
    O tópico é um bom post sobre outros operadores curtos em PHP .
  • [RFC] Novo mecanismo de serialização de objetos personalizados - RFC fresco de Nikita Popov. Propõe-se introduzir um novo mecanismo para serializar objetos adicionando alguns métodos mágicos:

     // Returns array containing all the necessary state of the object. public function __serialize(): array; // Restores the object state from the given data array. public function __unserialize(array $data): void; 

    Esta alteração visa corrigir Serialiazable interface Serialiazable . Infelizmente, é impossível corrigir a interface em si, mas se a proposta for aceita, haverá uma alternativa funcional.
  • [RFC] Construtor livre de código - Propõe-se adicionar um construtor automático cuja tarefa é inicializar propriedades:
    Texto oculto
     class MotorCycle { public $vendor; public $cc; public $whells = 2; public function __construct($vendor, $cc) { $this->vendor = $vendor; $this->cc = $cc; } //other methods } class MyCustomMotorCycle extends MotorCycle { public function __construct($cc, $whells) { parent::__construct("Custom", $cc); // $this->cc = $cc; this statement will be added within proposed realisation $this->whells = $whells; } } 

    para o código acima, é sugerida a seguinte sintaxe alternativa:
     class MotorCycle($vendor, $cc){ public $whells = 2; //other methods }; class MyCustomMotorCycle($cc, $whells) extends MotorCycle("Custom", $cc){ }; 


As ferramentas



Symfony



Laravel



Async php



CMS



Materiais de Aprendizagem




Divertido


  • Code Galaxies - Uma visualização 3D divertida dos relacionamentos entre os pacotes do Composer.

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

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


All Articles