Pequeños cambios en PHP 5.4

Veamos algunos de los muchos pequeños cambios realizados en el entorno de PHP 5.4. Cada uno de ellos por sí solo no justificaría un artículo independiente, pero es mejor asegurarse de ellos para que la transición a PHP 5.4 desde versiones previas no se convierta en un quebradero de cabeza.

php5.4.1

Hay una gran cantidad de cambios que se hicieron en esta actualización y algunos de ellos implican la eliminación por completo, no sólo desuso, de funcionalidades utilizadas por versiones anteriores de PHP que ya no serán compatibles, y de utilizarse obtendremos errores en nuestros archivos. Uno de estos elementos es el modo seguro.

Algunas aplicaciones utilizan el modo seguro para el manejo de la seguridad en la interacción con el sistema de archivos. Esta herramienta fue creada principalmente para entornos de alojamiento compartido, pero se ha determinado que este tipo de seguridad es mejor manejarla dentro del propio servidor web o el sistema operativo. Sin embargo, eso no quiere decir que necesariamente están siendo manejados actualmente . Así que podría haber, aunque con escasa probabilidad, algunos retrasos en algunos entornos de alojamiento adaptando esta nueva versión.

Otra característica que se eliminó por completo es Magic Quotes, originalmente una forma de escapar las comillas y prevenir los ataques de inyección SQL pero terminó por no ser muy portable, mala para el rendimiento y, esencialmente, que se aplicaba a todo no solo comillas. Así que realmente no era la solución correcta.

Los espacios de nombres ahora están reservados para el código nativo, ya no se puede escribir en ellos.

Los errores E-STRICT han sido actualizados, por lo que ahora, por ejemplo, errores del tipo E-ALL muestran todo tipo de avisos de advertencia y errores. Hay una serie de otros cambios adicionales y renovaciones que se pueden ver en el manual de php.net.

La extensión SQLite se ha trasladado a la librería PECL. Ha habido algunos cambios en el archivo de configuración principal de PHP, y se han producido cambios con algunas clases que se han agregado. Una de las nuevas clases es la interfaz JsonSerializable. Fue añadida a fin de permitir crear objetos que puedan ser serializados y codificados en JSON.

Otro elemento que se ha agregado es la interfaz SessionHandler que permite personalizar esencialmente el manejo de sesiones, así podemos crear nuestros propios métodos personalizados.

La librería MySQLi ahora implementa la interfaz desplazable para que pueda usar foreach para dar salida a través de los resultados de la consulta.

La última cosa que quiero mostrar es el CallbackFilterIterator que es un nuevo iterador que es parte de la librería de SPL, y te permite filtrar esencialmente a través de un cierto subconjunto de elementos dentro de un iterador y iterar sólo a través de esos elementos mediante la creación de un función. Así que esto puede ser una herramienta muy útil para el filtrado.


[sourcecode language='php' padlinenumbers='true']
$numeros = [10,15,50,120,256];
$iterador = new ArrayIterator($numeros);

function filtrar_menores($current, $key, $iterator){
return ($current < 100);
}

$numeros_menores = new CallbackFilterIterator($iterador, "filtrar_menores");

// la salida serían los números menores de 100 de la matriz inicial
foreach ($numeros_menores as $numero){
echo $numero, "<br />";
}
[/sourcecode]


PHP 5.4 trajo consigo una gran cantidad de cambios a un montón de diferentes elementos dentro del entorno PHP. Hemos revisado algunos de los cambios más importantes aquí, pero sin duda recomiendo ir y echar un vistazo a la documentación para ver algunos de los pequeños cambios que no hemos sido capaces de cubrir, en particular en algunos de los elementos utilizados en vuestros códigos.

Comentarios