Al parecer, PHP 7.4 va a ser lanzado en Diciembre del 2019 y acá te comentamos algunas novedades que están siendo cocinadas.
Precarga
Si estas utilizando un framework como Laravel, sabemos que los archivos son cargados y compilados en cada solicitud, por mas que utilices cache, siempre algo se carga y se compila.
Con la precarga que se implementara en el núcleo de PHP esto ya no será así y ganaremos muchos puntos en rendimiento.
La precarga permite que al inicio de la aplicación, los archivos sean cargados en memoria por el servidor. Esto hace que estén disponibles permanentemente para todas las solicitudes posteriores.
Por supuesto, todo tiene un costo: si se modifican los archivos fuente precargados, el servidor deberá reiniciarse. También, tendremos un consumo de memoria RAM constante en nuestro servidor que debemos tener en cuenta.
Tipos de variables
Además de tener los tipos de variables primitivos (como int, string, etc), vamos a poder asignar clases como tipos de variables, como hacen otros lenguajes fuertemente tipados (como Java, por ejemplo).
class Product
{
public string $name;
public Image $image;
}
Para mí, esta va a ser una de las características mas importantes que se agregarán en PHP 7.4 que le dará un salto de calidad al lenguaje. 👏
Definición de tipos de parámetros y devoluciones
Esta es otra característica importante que se agregará al núcleo de PHP. Y es la posibilidad de definir que tipo de variable se va a devolver o que tipo de variable se espera como argumento. Esto ultimo ya funciona con algunos tipos de variables, como con los arrays, por ejemplo. Pero ahora se extenderá a clases, también. 😉
Y en parámetros:
NOTA: No confundir con Inyección de Dependencias.
Operador de asignación de unión nula
Sabemos que en PHP podemos utilizar el operador ??
para verificar la existencia de algo, como por ejemplo, $username = $request->user ?? 'default';
Sin embargo, debido a que los nombres de las variables suelen ser más largos que $username, el uso de ?? para auto asignación crea código repetido, como por ejemplo, $request->comment = $request->comment ?? 'Comentario default';
Por lo tanto, en PHP 7.4 vas a poder hacer algo como esto:
$requet->comment ??= 'Comentarios default';
ext-hash
siempre habilitado
Como dice el título, esta extensión ahora estará disponible de forma permanente en todas las instalaciones de PHP.
Conclusión
Sin duda, nos esperan muchas mejoras en el lenguaje que le dará un gran salto de calidad al mismo. Tanto en rendimiento como en elegancia de código. Si quieres, puedes ver mas características que se están barajando en PHP RFC.
Definición de tipos de parámetros y devoluciones. Eso existe desde PHP7.0
Uuuh, faltó lo más importante! Foreign Function Interface!
Pasar objetos como argumentos existe desde PHP 5.6