Nueva selección con enlaces a noticias y materiales. En el lanzamiento: PHPUnit 8 y otros lanzamientos, PSR-14 y PSR-12 en la etapa de revisión, JIT para PHP, comenzaron a trabajar en PHP 8, un montón de RFC fresco de PHP Internals, una porción de herramientas útiles y mucho más.
Que tengas una buena lectura!
Noticias y lanzamientos
PHP internos
- Se ha creado una rama PHP-7.4 , y el repositorio principal de PHP ahora está dirigido a PHP 8.0. Esto significa que el trabajo en PHP 8.0 ya ha comenzado, y PHP 7.4 se desarrollará en paralelo. Entonces, en PHP 8, un montón de características obsoletas ya se han eliminado .
- [RFC] JIT - Una vieja idea con JIT en PHP finalmente encontró implementación gracias a los esfuerzos de Dmitry Stogov. JIT se implementa como una parte independiente de OPcache, y se puede activar / desactivar incluso en tiempo de ejecución. PHP 8 se considera como la versión de destino, pero es posible incluirlo en PHP 7.4 como una característica experimental deshabilitada de forma predeterminada. De acuerdo con los puntos de referencia de Nikita Popov, JIT ofrece un aumento del 30% para PHP-Parser y alrededor del 5% para amphp / http-server . Actualmente no hay soporte para Windows, lo cual es controvertido en Internals.
Mientras tanto, ya puedes probar PHP + JIT usando imágenes Docker (gracias @dmitrybalabka ). También una gran publicación sobre lo que JIT significa para los usuarios de PHP . - [RFC] Errores de tipo consistentes para funciones internas : otro RFC de Nikita Popov. Se sugiere que en PHP 8 todas las funciones integradas arrojen un TypeError cuando se pasan parámetros del tipo incorrecto en lugar de anular y devolver
null
.Texto ocultoEn cambio:
var_dump(strlen(new stdClass));
Será:
declare(strict_types=1); var_dump(strlen(new stdClass));
- [RFC] RFC Workflow & Voting (actualización de 2019) - Intentar endurecer un poco el voto de RFC y burocratizar el proceso se encontró con una tormenta de críticas en Internals. Tanto es así que han aparecido propuestas alternativas . Zeev Surasky prometió revisar su versión y tener en cuenta las críticas.
- [RFC] Referencias débiles : se propone agregar la clase
WeakReference
para implementar enlaces débiles, lo que permitirá al desarrollador guardar el enlace en el objeto, sin impedir que el recolector de basura lo elimine. Esto puede ser especialmente útil para todo tipo de cachés. - [RFC] Permitir variación de tipo de retorno de vacío : una propuesta para implementar la capacidad de anular el tipo de retorno de
void
en los métodos herederos. Apareció setUp()
cambiar la firma del método setUp()
y varios otros en 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] Tipo de letra mixto : y aquí se propone agregar un tipo de letra
mixed
. Esto indicará que la función puede aceptar (o devolver) valores de diferentes tipos. - [RFC] Anotaciones 2.0 : borradores de sugerencias para anotaciones completas. Ya ha habido intentos de implementar anotaciones y atributos simples . Mientras tanto, puede usar el excelente complemento de anotación en PhpStorm .
Las herramientas
Symfony
Laravel
Yii
PHP asíncrono
CMS
Materiales de aprendizaje
Gracias por su atencion!
Si nota un error o inexactitud, infórmeme en PM .
Preguntas y sugerencias escritas a mail o twitter .
Más noticias y comentarios sobre el canal de telegramas PHP Digest .
Enviar enlace
Buscar enlaces para todos los resúmenes
← Versión anterior: PHP Digest No. 148