PHP Digest No. 151 (25 de febrero - 11 de marzo de 2019)


Nueva selección con enlaces a noticias y materiales. En el lanzamiento: actualizaciones de PHP, Laravel 5.8, Xdebug 2.7 y otros lanzamientos, 3 RFC nuevos, 2 aceptados y el concepto de PHP Internals, una porción de herramientas útiles y mucho más.

Que tengas una buena lectura!



Noticias y lanzamientos



PHP internos


  • [RFC] Saner comparaciones de cadena a número : en su reciente RFC, Nikita Popov sugiere cambiar el comportamiento de == y hacer que las comparaciones laxas sean menos propensas a errores. En particular, se propone utilizar la comparación de números solo si la cadena que se compara es realmente numérica. De lo contrario, el número se convierte en una cadena y se compara la cadena.

    Esta propuesta implica un cambio en el comportamiento de los operadores de comparación <=> , == , == != , > , >= , < , Y <= , las construcciones de switch , funciones como in_array() , sort() y otros.

    En respuesta, se recibieron ideas de diversos grados de radicalismo: desde la introducción de una bandera especial declare('strict_comparison=1'); , que convertiría todo == en === , antes de la oferta de cancelar == en general .

    Mientras tanto, Warning probablemente arrojará 7.4 si el resultado de la comparación es diferente de lo que se esperaba en PHP 8.
  • [RFC] Permitir espacios en blanco al final en cadenas numéricas : otra sugerencia diseñada para mejorar la coherencia, pero debilitándola. Se propone permitir espacios en blanco al final de las líneas numéricas, es decir, para que "123 " == " 123" y todas las demás operaciones funcionen, así como para las líneas con espacios iniciales.
  • [RFC] Errores de tipo consistentes para funciones internas : la propuesta ha sido aceptada, lo que significa que en PHP 8, las funciones integradas arrojarán un TypeError si se pasan parámetros del tipo incorrecto y, en consecuencia, no devolverán nulo.
  • [RFC] Referencias débiles: se acepta la propuesta para implementar enlaces débiles.
  • [RFC] Clases bloqueadas : se propone introducir una nueva palabra clave locked para las clases. Dichas clases se cerrarán para el uso dinámico de propiedades, es decir, no puede acceder a propiedades no declaradas:
    Texto oculto
     locked class TestClass { public $definedProp; } $t = new testClass(); $t->definedProp = "OK"; echo $t->definedProp; unset($t->definedProp); echo $t->nonExistentProp; // Error $t->nonExistentProp = "Not OK"; // Error unset($t->definedProp); // Error 
  • video PHP Internals News: Episodio 1 - Nuevo podcast del autor Xdebug Derick Rethans. En el primer número, una conversación con Nikita Popov.
  • Permitir lanzar desde __toString () - PR de Nikita con una solución para uno de los viejos problemas de PHP : la incapacidad de lanzar excepciones en __toString .
  • Lista de comprensión : un concepto de Sarah Goleman con la implementación de la lista de comprensión para PHP. La sintaxis es menos elegante que en Python, pero parece interesante:
     $a = [1, 2, 3]; $mul = 3; $c = [ for $a as $v yield $mul * $v use ($mul) ]; 

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
Edición anterior: PHP Digest No. 150

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


All Articles