PHP Digest No. 155 (22 de abril - 6 de mayo de 2019)


Nueva selección con enlaces a noticias y materiales. En el lanzamiento: actualizaciones de PHP, Codeception 3.0 y otros lanzamientos, lambdas cortas en PHP 7.4 y una descripción general de las últimas oraciones RFC de PHP Internals, una porción de herramientas útiles y mucho más.

Que tengas una buena lectura!



Noticias y lanzamientos


  • PHP 7.3.5
  • PHP 7.2.18
  • PHP 7.1.29
  • Codeception 3.0 : consola interactiva mejorada, pasos repetidos, soporte para PHPUnit 8 y más.
  • spiral / roadrunner 1.4.0 - Actualización del servidor de aplicaciones, el equilibrador y el administrador de procesos en Go. La versión incluye una parada segura para los trabajadores, soporte para variables de entorno en configuraciones, la capacidad de controlar a los trabajadores en un grupo y más. Hay un nuevo sitio web roadrunner.dev .
  • PHP Rusia 2019 - 17 de mayo, Moscú, Infospace. Solo quedan unos días hasta el último aumento de precios.

PHP internos


  • [RFC] Arrow Functions 2.0 - La propuesta pasó la votación y aceptó. Ahora en PHP habrá funciones anónimas cortas usando la sintaxis fn() => y capturando automáticamente las variables de un ámbito externo por valor:
     $y = 1; $fn = fn($x) => $x + $y; 

    Hasta ahora, las funciones pueden tener solo una expresión estrictamente, cuyo resultado será devuelto. Las funciones de varias líneas pueden implementarse más adelante. Hackear usando el operador && como en JS no funcionará:
    Texto oculto
     andOperator = ($x) => ($y = 10) && $x + $y; console.log(andOperator(5)); // 15 
     $andOperator = fn($x) => ($y = 10) && $x + $y; var_dump($andOperator(5)); // bool(true) 
    Pero puedes aplicar el hack usando end() :
    Texto oculto
     <?php function last(...$args) { return end($args); } $multipleLines = fn($x) => last( $y = $x * 10, // 10 $z = $y + 15, // 25 $x + $y + $z // 1 + 10 + 25      last() ); var_dump($multipleLines(1)); // int(36) 

    O usando array_slice() , gracias a Grikdotnet por el consejo :
    Texto oculto
     $multipleLines = fn($x) => array_slice([ $y = $x * 10, $z = $y + 15, $x + $y + $z ], -1)[0]; var_dump($multipleLines(1)); // int(36) 

  • [RFC] Desaprobar las etiquetas abiertas cortas de PHP : la propuesta abordaba la idea de eliminar la posibilidad de usar etiquetas cortas <? Sin embargo, se encontró con una tormenta de indignación y controversia. Por lo tanto, se propuso una forma mucho más moderada, en la que en las próximas versiones la oportunidad permanece disponible como está, y se lanzará una advertencia de desaprobación.
  • [RFC] Operador extendido en expresión de matriz : propuesta aceptada casi por unanimidad. El operador ... ahora estará disponible en matrices.
    Texto oculto
     $parts = ['apple', 'pear']; $fruits = ['banana', 'orange', ...$parts, 'watermelon']; // ['banana', 'orange', 'apple', 'pear', 'watermelon']; 
    Además, al usarlo, puede convertir rápidamente un iterador en una matriz en lugar de usar iterator_to_array :
     $array = [...$iter]; 
  • RFC: Permitir lanzar excepciones de __toString () - Nikita continúa arreglando sistemáticamente la "tristeza de PHP" uno por uno. Esta vez estamos hablando de la capacidad de lanzar una excepción en __toString() . Otra mejora agradable y nada trivial para PHP 7.4, que elimina la necesidad de usar todo tipo de soluciones 1 , 2 .
  • audio PHP Internals News # 7 - Derick Rethans habla con Zeev Surasky sobre JIT en PHP 8 e intentos de implementación anteriores.
  • audio PHP Internals News # 8 - Conversación con George Banyard, colaborador de documentación de PHP, sobre etiquetas cortas.

Las herramientas



Symfony



Laravel



Yii



PHP asíncrono



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

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


All Articles