Novedades de PHP 5.4.0

Pablo

PHP es mi lenguaje favorito, una comunidad enorme, miles de sitios poderosos que lo utilizan, una sencilla pero potente sintaxis, hacen del lenguaje una herramienta que prácticamente no tiene limites a la hora de construir sitios web.

PHP me encanta, pero tengo que confesar que la demora en lanzar su versión 6 me tenia un poco preocupado, como imagino le ocurre a muchos colegas, razon probable por la que el equipo desarrollador comenzó a liberar versiones intermedias con pequeñas mejoras, y que son para nada despreciables. Esto es lo que justamente ocurre con su versión 5.4.0 de reciente lanzamiento.

novedades de PHP 5 4 0

PHP 5.4.0 fue liberado el primero de marzo de este año, reconozco que lo descargue instantáneamente, algo que no suelo hacer con otros proyectos, pero antes de comentar sus mejoras me decidí a probarlo un poco, honestamente para no caer en la entrada típica que anuncia una nueva versión y destaca las cosas más obvias.

Servidor Web incluido

Esta es la mejora que más se comento en la mayoría de los blogs y sitios de programación. En lo personal no me parece la gran mejora, inclusive la veo más como una característica del tipo “valor agregado” que como una mejora real al lenguaje.

La idea del equipo de desarrollo fue incorporar un mecanismo ágil para pruebas, algo así como una herramienta rápida de testeo. Algo que no es de mucha utilidad si ya tenemos nuestro pequeño web server montado para trabajar desde la oficina o desde casa, como hacemos la mayoría de programadores.

Para arrancar el servidor web simplemente escribimos en Terminal:

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

Y en la consola vamos a ver:

PHP 5.4.0 Development Server started at Wed Mar 07 11:01:00 2012
Listening on localhost:8000
Document root is /home/me/public_html
Press Ctrl-C to quit

Que PHP tenga un servidor web incluido no se hasta que punto se podría considerar una mejora, y más si consideramos que este servidor no esta diseñado para ser utilizado en producción. No obstante es un lindo adicional de valor agregado, hasta podría resultar útil en entornos de desarrollo a la hora de verificar ciertas transacciones de información ya que podemos utilizar la consola para monitorear la actividad del web server de modo transparente.

Cosas que pasan a la historia en PHP 5.4.0

Funciones: Dos solas por suerte, las comento principalmente para aquellos que quieran migrar hoy mismo y desean verificar si sus scripts son totalmente compatibles con la versión 5.4.0.

Extensiones: Una sola deja de ser parte de PHP y es SQLlite. Esto no quiere decir que no se pueda usar más con PHP, sino que ya no esta incluida en PHP desde su distribución.

Dato importante sobre las Magic quotes. Están muertas. Este cambio es bastante lógico y esperado, pero finalmente ocurrió. Las Magic Quotes son cosas del pasado, por lo que si tenemos un script que haga la verificación podemos ir eliminando esta llamada. Según tengo entendido ahora PHP 5.4.0 va a devolver siempre FALSE en caso de realizar la comprobación. A tener en cuenta si piensan actualizar. Otros dos aspectos técnicos referidos a la seguridad que pasan a la historia en esta nueva versión de PHP son las register globals, y el adios al safe mode.

Nuevas características de PHP 5.4.0

PHP 5.4.0 sorprende con algunas mejoras muy importantes, a destacar: mejor rendimiento, menos consumo de memoria RAM, y se solucionaron más de 100 bugs. Por ejemplo, y para los fanáticos de WordPress, cambiar de la versión 5.3 a la 5.4 de PHP supone una mejora del 10% en cuanto al rendimiento.

Sintaxis simplificada para crear Arrays: Ahora podemos crear un array de forma simplificada, por ejemplo:

$a = [1, 2, 3, 4];
$a = ['uno' => 1, 'dos' => 2, 'tres' => 3, 'cuatro' => 4];

Nuevas funciones. No son muchas pero son bastante atractivas. Les recomiendo leer el apartado en el sitio oficial de PHP con las nuevas funciones. Una que me gusto mucho:

  • session_status() Para tener mayor control sobre el estado de las sesiones. Excelente para simplificar mucho el trabajo en sistemas de autenticación básicos.

Un pequeño ejemplo de uso, nada científico, pero creo que sirve para que se entiendan las ventajas de esta nueva función:

session_start();

$status = session_status();

if($status == PHP_SESSION_DISABLED){
	echo "Estado de la Session: Disabled";
}
else if($status == PHP_SESSION_NONE ){
	echo "Session creada pero sin valores creados";
}
else{
	echo "Session creada y con valores";
}

Traits. PHP en su nueva versión incorpora un nuevo método para mejorar la reutilización de código, decidieron llamarlo Traits. Los Traits nos permiten mejorar el flujo de trabajo en cuanto a las clásicas limitaciones de los lenguajes de herencia simple. En definitiva nos ayuda a reducir la complejidad cuando trabajamos con objetos permitiendo realizar asociaciones de herencia múltiple.

Honestamente me costo bastante entender desde la teoría lo que es un traits, pero con un simple ejemplo quedó todo mucho más claro, con las siguientes lineas de código podrán entender perfectamente como se utiliza un traits.

<?php
class Base {
	public function sayHello() {
		echo 'Hello ';
	}
}

trait SayWorld {
	public function sayHello() {
		parent::sayHello();
		echo 'World!';
	}
}

class MyHelloWorld extends Base {
	use SayWorld;
}

$o = new MyHelloWorld();
$o->sayHello();
?>

Si ejecutamos este pequeño snippet obtendremos: Hello World!

PHP 5.4.0 cuenta con varias mejoras interesantes, estoy muy contento con esta nueva versión de PHP, la misma nos prepara hacia el próximo gran salto en el lenguaje, algo que no veremos hasta unas pocas versiones futuras más.

Pablo

Programador desde hace más de 11 años, adicto a internet, cafeinómano, fanático de la información, intento de emprendedor, trabaja de forma compulsiva solo en lo que ama. Sueña con tener una aplicación con más de 1 millón de usuarios.

Comentarios

  1. wArLeY996 Responder

    Muy bueno tu articulo Pablo, yo tambien pienso que esta de mas el webserver. Lo unico que hace es mas pesada la instalacion (aunque solo sean 10Kb).

    Saludos!

  2. Marcelo Responder

    Hola Pablo, ¿sabes de alguna herramienta para testear comandos “deprecated” en archivos de PHP antes de empezar a probarlos en PHP 5.4? porque a veces hay que actualizar el servidor, pero hay que testear primero los scripts y hacerlo a mano es muy complicado cuando te dan un paquete hecho a medida…

  3. Desarrollos web latrasweb Responder

    Opino diferente de lo que dices Pablo y de lo que dice wArLeY1996. Es muy común el uso de scripts lanzados desde línea de comandos(ejemplos, los típicos scripts del crontab que hacen tareas de mantenimiento o actualización ).
    Al tener un servidor disponible desde línea de comando(cli) permite utilizar el sistema de front controller propio de la web sin tener que hacer uno alternativo. Es por ello que creo que se ha añadido.
    En todo caso me parece un buen artículo sobre las novedades de php 5.4
    Saludos

Realizar un comentario