Top 10 nuevas funcionalidades en PHP 5.4

Nuevas funcionalidades PHP 5.4

PHP 5.4 incluye una gran cantidad de nuevas funcionalidades y muchas correcciones de bugs. La última versión de PHP fue liberada el pasado 1ero. de marzo, entre las mejoras generales de la versión encontramos por ejemplo, mejoras de performance, reducción del consumo de memoria, código de base más «limpio» ya que se eliminaron las funciones «deprecated», entre otras.

ATENCIÓN!!: Un tema importante para los usuarios de los sistemas Windows XP y 2003, es que PHP 5.4 será la última versión que provea ejecutables para esas versiones del sistema operativo de Microsoft.

Lo que preparamos en este artículo es una guía introductoria de las nuevas funcionalidades que nos ofrece PHP 5.4, así puedes aprovechar todo el potencial de PHP y mantenerte actualizado.

PHP 5.4 – nuevas funcionalidades

1.- Traits

Su aparición es consecuencia de una «carencia» de PHP que es la herencia múltiple, es decir que una clase en PHP solo puede heredar funcionalidad desde una sola clase padre; Traits es la forma que los desarrolladores de PHP encontraron para subsanar el problema mencionado y permite el reuso de código de varias clases.

Los traits son estructuralmente similares a las clases pero no pueden ser instanciados, en cada clase puedes usar la cantidad de traits que precises para simular la herencia múltiple, veamos un ejemplo:


2.- Sintáxis de arrays simplificada

Ahora es posible crear arrays de forma similar a como lo hacemos en javascript, ejemplo:

 1, 'dos'=>2, 'tres'=> 3];
    $test = [1,2,3];
?>

3.- Web server integrado para testing

Con una simple línea de comando podemos iniciar un web server para probar nuestros scripts sin necesidad de tener Apache instalado, obviamente no debe ser usado para ambientes de producción.

$ cd ~/public_html
$ php -S localhost:8000

4.- Array dereferencing

Se agregó la funcionalidad de «desreferenciamiento de array» o array dereferencing; muchas veces creamos un montón de variables temporales solo para guardar datos que no usamos… con esta nueva funcionalidad el código se vuelve mas compacto y claro; veamos un ejemplo:

 'manzana', 'b' => 'banana');
}
echo fruta()['a'];  // <--- esto es array dereferencing
// muestra 'manzana'

//antes hacíamos esto...
function fruta()
{
    return array('a' => 'manzana', 'b' => 'banana');
}

$frutas = fruta();
echo $frutas['a'];
// muestra 'manzana'
?>

5.- Tag corto de apertura

Ahora tenemos disponible siempre el tag corto


sin importar el valor de la opción short_open_tag del php.ini; este tag es muy usado en templates o plantillas, se usa para indicar la apertura de código PHP y simultáneamente el uso de la función "echo", ejemplo:


// es equivalente a 

6.- Acceso a miembros de clase durante la creación

Otra funcionalidad que apunta a la simplificación de código, ejemplo:

funcionUtil();

//ahora podemos escribir
$valor = (new ClaseUtil)->funcionUtil();
?>

7.- Seguimiento del proceso de subida de archivos en la sesión

Ahora podemos conocer el progreso de la subida de un archivo a través de una clave en $_SESSION, esta es una muy interesante funcionalidad. Incluso podemos cancelar una subida que esta en progreso. Muy útil para generar las conocidas barras de progreso.

8.- Representación binaria de números enteros

Ahora podemos escribir los números enteros en notación binaria, para esto debemos usar "0b" como prefijo, ejemplo:


9.- Nuevas clases e interfaces

Varias nuevas clases e interfaces fueron agregados en PHP 5.4, algunas interesantes para conocer más en profundidad son: JSONSerializable, SessionHandler, SNMP, SPL, etc. Vean la lista completas de nuevas clases e interfaces.

10.- Nuevas funciones, métodos y otros...

En PHP 5.4, se agregaron una cantidad importante de métodos, funciones y constantes globales nuevas, así como también varios cambios en el archivo PHP.ini, lo mejor es revisar la listas de cambios para no perdernos nada.

De todas formas te dejamos un listado muy reducido con algunas funciones nuevas interesantes:

  • http_response_code(); //devuelve el código de respuesta HTTP
  • session_status(); //permite conocer el estado de la sesion
  • trait_exists(); //para saber si existe un determinado trait y autocargarlo si es necesario

Listado de nuevas funciones.
Listado de nuevos métodos.
Listado de nuevas constantes globales.

Para finalizar...

...tengan en cuenta que hay varios cambios no compatibles con versiones anteriores de PHP, principalmente revisar: magic_quotes, safe_mode, regsiter_globals fueron eliminadas; así que cuidado porque es común encontrar estas características implementadas en aplicaciones viejas.

Por favor, revisen la lista completa de cambios incompatibles.

Por más información sobre las nuevas funcionalidades de PHP 5.4 en el sitio oficial.

Juan Benitez

Fundador de Tecnopedia.net. Licenciado en Informática, desarrollador Web, Android y PHP. Apasionado de las tecnologías y el fútbol. Reparto mis días programando, creando sitios, apps o escribiendo en @Tecnopedianet... y sí, además tengo esposa y una hija ;)

View all posts by Juan Benitez →