¿Qué hay de nuevo en PHP 7.4? Las 10 funciones principales que necesita conocer

En solo 7 días, veremos el lanzamiento de PHP 7.4. Con las nuevas actualizaciones, se logrará un uso de memoria reducido y un aumento significativo del rendimiento. Echa un vistazo a las 10 características principales de PHP 7.4 en este artículo!

PHP7.4

PHP7.4

¿Por qué algunos lenguajes de programación son tan populares mientras que otros rara vez se usan para el desarrollo de proyectos y a veces incluso caen en el olvido? Hay muchas razones para ello. La simplicidad de la sintaxis, la funcionalidad, la red de desarrollo y el soporte de la comunidad afectan el nivel de demanda de cada tecnología.

A medida que el mundo de la TI se desarrolla constantemente, las tecnologías de codificación deben seguir el ritmo del entorno cambiante proporcionando nuevas características, actualizaciones y mejoras. Este es uno de los elementos más importantes del lenguaje éxito.

En nuestra empresa, disfruto de PHP debido a las frecuentes mejoras que se realizan cada año y creo que será popular durante muchos años. Desde el lanzamiento de PHP 5 en 2004, su rendimiento se ha duplicado y tal vez, incluso triplicado. Esta es una de las razones por las que utilizamos PHP en nuestra empresa de desarrollo de software.

No es de extrañar que, por segundo año consecutivo, PHP se encuentre entre los 10 lenguajes de programación más populares según la Encuesta de Desarrolladores de StackOverflow de 2019. Este año, se llevó el octavo lugar, que es un rango más alto que el año anterior.

En solo 7 días, el jueves 28 de noviembre, veremos el nuevo lanzamiento de PHP — PHP 7.4, que se convertirá en una de las versiones con más funciones de la historia. En este artículo, enumeraré y cubriré la descripción general de características actualizadas de PHP 7.4. ¡Empecemos!

Soporte de funciones de flecha

Dado que las funciones anónimas, o cierres, se aplican principalmente en JS, parecen ser detalladas en PHP. Sus procedimientos de implementación y mantenimiento también son más complejos.

La introducción del soporte de funciones arrow permitirá a los desarrolladores de PHP limpiar drásticamente su código y hacer que la sintaxis sea más concisa. Como resultado, obtendrá un mayor nivel de legibilidad y simplicidad del código. Echa un vistazo al siguiente ejemplo.

Por lo tanto, si anteriormente tuvo que escribir este fragmento de código:

function cube($n){return ($n * $n * $n);}$a = ;$b = array_map('cube', $a);print_r($b);

Con PHP 7.4, podrá reescribirlo de la siguiente manera:

$a = ;$b = array_map(fn($n) => $n * $n * $n, $a);print_r($b);

Gracias a la capacidad de crear código limpio y más corto, el proceso de desarrollo web será más rápido, lo que le permitirá ahorrar tiempo.

Soporte de propiedades de tipo

La introducción de propiedades de tipo en la próxima versión probablemente se considerará una de las características de PHP actualizadas más importantes. Si bien anteriormente no había posibilidad de usar métodos de declaración para variables y propiedades de clase (incluidas las propiedades estáticas), ahora los programadores pueden codificarlo fácilmente sin crear métodos específicos de getter y setter.

Debido a los tipos de declaración (excluyendo void y callable), puede usar tipos nullables, int, float, array, string, object, iterable, self, bool y parent.

Si un desarrollador web intenta asignar un valor irrelevante del tipo, por ejemplo, declarando string name como cadena, recibirá un mensaje TypeError.

Al igual que las funciones de flecha, las propiedades escritas también permiten a los ingenieros de PHP hacer que su código sea más corto y limpio

Precarga

El propósito principal de esta nueva característica es aumentar el rendimiento de PHP 7.4. En pocas palabras, la precarga es el proceso de carga de archivos, marcos y bibliotecas en OPcache y es definitivamente una gran adición a la nueva versión. Por ejemplo, si usa un framework, sus archivos tenían que descargarse y recompilarse para cada solicitud.

Al configurar OPcache, por primera vez estos archivos de código participan en el procesamiento de la solicitud y luego se comprueban los cambios cada vez. La precarga permite al servidor cargar los archivos de código especificados en la memoria compartida. Es importante tener en cuenta que estarán constantemente disponibles para todas las solicitudes posteriores sin comprobaciones adicionales de cambios de archivos.

También es digno de mención mencionar que durante la precarga, PHP también elimina inclusiones innecesarias y resuelve dependencias de clase y enlaces con rasgos, interfaces y más.

Devuelve covariante& parámetros contravariantes

Por el momento, PHP tiene principalmente tipos de parámetros invariantes y tipos de retorno invariantes que presentan algunas restricciones. Con la introducción de parámetros covariantes (los tipos se ordenan de más específicos a más genéricos) y contravariantes (los tipos se ordenan de más genéricos a más específicos), los desarrolladores de PHP podrán cambiar el tipo del parámetro a uno de sus supertipos. El tipo devuelto, a su vez, se puede reemplazar fácilmente por su subtipo.

Referencias débiles

En PHP 7.4, la clase WeakReference permite a los desarrolladores web guardar un enlace a un objeto que no impide su destrucción. No lo confunda con la clase WeakRef de la extensión Weakref. Debido a esta característica, pueden implementar más fácilmente estructuras similares a la caché.

Vea el ejemplo de uso de esta clase:

<?php$obj = new stdClass;$weakref = WeakReference::create($obj);var_dump($weakref->get());unset($obj);var_dump($weakref->get());?>

Además, tenga en cuenta que no puede serializar referencias débiles.

Operador de asignación de coalescencia

Un operador de coalescencia es otra nueva característica disponible en PHP 7.4. Es muy útil cuando necesitas aplicar un operador ternario junto con isset (). Esto le permitirá devolver el primer operando si existe y no es NULL. Si no, simplemente devolverá el segundo operando.

Aquí hay un ejemplo:

<?php// Fetches the value of $_GET and returns 'nobody'// if it does not exist.$username = $_GET ?? 'nobody';// This is equivalent to:$username = isset($_GET) ? $_GET : 'nobody';// Coalescing can be chained: this will return the first// defined value out of $_GET, $_POST, and// 'nobody'.$username = $_GET ?? $_POST ?? 'nobody';?>

Un operador de propagación en una expresión de matriz

PHP 7.4 le dará a los ingenieros la capacidad de usar operadores de propagación en matrices que son más rápidos en comparación con array_merge. Hay dos razones clave para ello. En primer lugar, un operador de propagación se considera una estructura de lenguaje y array_merge es una función. La segunda razón es que ahora su tiempo de compilación puede optimizarse para matrices constantes. Como consecuencia, habrá aumentado el rendimiento de PHP 7.4.

Eche un vistazo al ejemplo de desempaquetado de argumentos en una expresión de matriz:

$parts = ;$fruits = ;var_dump($fruits);

Además, será posible expandir la misma matriz varias veces. Además, dado que los elementos normales se pueden agregar antes o después del operador de propagación, los desarrolladores de PHP podrán usar su sintaxis en el array.

Un nuevo objeto personalizado mecanismo de serialización

En la nueva versión de PHP, dos nuevos métodos: __serializar y __unserialize. Combinando la versatilidad de la interfaz serializable con el enfoque de implementar métodos __sleep / __ wakeup, este mecanismo de serialización permitirá a los desarrolladores PHP evitar problemas de personalización asociados con los métodos existentes. Obtenga más información sobre esta característica de PHP.

Reflexión para referencias

Las bibliotecas, como symfony / var-dumper, dependen en gran medida de ReflectionAPI para mostrar las variables con precisión. Anteriormente, no había soporte adecuado para la reflexión de referencias, lo que obligaba a estas bibliotecas a confiar en hacks para detectar referencias. PHP 7.4 añade la clase ReflectionReference que resuelve este problema.

Soporte para lanzar excepciones desde _ _ toString ()

Anteriormente no había capacidad para lanzar excepciones desde el método __toString. La razón de esto es que la conversión de objetos a cadenas se realiza en muchas funciones de la biblioteca estándar, y no todas están listas para «procesar» correctamente las excepciones. Como parte de este RFC, se llevó a cabo una auditoría exhaustiva de las conversiones de cadenas en la base de código y se eliminó esta restricción.

Pensamientos finales

En solo una semana, PHP 7.4 será lanzado. Hay un montón de nuevas características de PHP que reducen el uso de memoria y aumentan en gran medida el rendimiento de PHP 7.4. Obtendrá la capacidad de evitar algunas limitaciones anteriores de este lenguaje de programación, escribir código más limpio y crear soluciones web más rápidas.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.