PHP Digest No. 171 (1 al 13 de enero de 2020)


Nueva selección con enlaces a noticias y materiales. En el lanzamiento: 4 RFC nuevas de PHP Internals y solicitudes de pool interesantes en PHP 8, una porción de herramientas útiles, podcasts, streams y mucho más.

Que tengas una buena lectura!



PHP internos


  • [RFC] Ajustes de sintaxis variable : una serie de inconsistencias en la sintaxis de la sintaxis variable uniforme Las variables RFC se han corregido en PHP 7. Se propone corregir algunas omisiones de referencia en PHP 8.
  • [RFC] Tipo de retorno static en el contexto de una declaración de tipo significa enlace estático tardío . Se propone hacer posible su uso como un tipo de método de retorno. Conveniente en interfaces fluidas o constructores estáticos.
    Texto oculto
     class Test { public function doWhatever(): static { // Do whatever. return $this; } } 
    Para las propiedades de clase y los parámetros del método, esto no tiene sentido y no funcionará.
  • [RFC] Permitir :: clase en objetos : en PHP 8, se propone hacer posible obtener el nombre completo de la clase del $object::class , de forma similar a cómo funciona ahora Foo\Bar::class .
  • [RFC] enunciado “usar funciones / concursos globales” : si una función o constante se usa sin un prefijo, PHP intentará encontrarlos primero en el espacio de nombres actual y luego en el global. El autor sugiere agregar directivas para use global functions; y use global consts; , lo que obligará al intérprete a buscar funciones y constantes sin prefijos en el espacio global de forma predeterminada.
  • [RFC] Mapas débiles : oferta aceptada y WeakMaps estará disponible en PHP 8.

    Varios cambios están disponibles como solicitudes de grupo:
  • [PR] Desaprobar el parámetro requerido después de opcional : esta advertencia sobre el uso del parámetro requerido después de implementar la firma de función opcional:
     function test(FooBar $param = null, $param2) 

    Esto puede tener sentido antes, pero con los tipos anulables puede escribir la function test(?FooBar $param, $param2) .
  • [PR] Verificar firmas de métodos abstractos provenientes de rasgos : las firmas de métodos abstractos de rasgos no están validadas para el cumplimiento de la implementación. Es decir, este código ahora funciona sin errores:
    Texto oculto
     trait T { abstract function neededByTheTrait(int $a, string $b); } class C { use T; function neededByTheTrait(array $a, object $b) {} } 
    La solicitud de grupo corrige este comportamiento.
  • [PR] Asegure firmas correctas para los métodos mágicos de PHP - Y en este PR, se implementa la verificación de las firmas de los métodos mágicos. Por el momento, es solo para __toString() y __clone() , pero esto, por ejemplo, funciona sin errores:
    Texto oculto
     class Foo { function __get(int $name) {} } (new Foo)->{42}; 

Las herramientas



Symfony



Laravel



Zend / laminas



CMS



Materiales de aprendizaje




Audio / Video



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

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


All Articles