La mayoría de las mejoras en PHP 5.4.x no tienen ningún impacto sobre el código existente. Existen unas pocas incompatibilidades y nuevas características que deberían ser consideradas, y debería de comprobarse el código antes de cambiar las versiones de PHP en entornos de producción.
Cambios con versiones incompatibles
Las siguientes palabras clave ahora son reservadas, por lo que no se pueden usar como nombres de funciones, clases, etc.
Las siguientes funciones han sido eliminadas de PHP:
Nuevas características
PHP 5.4.x ofrece un gran rango de nuevas características:
- Se ha añadido soporte para traits.
- Se ha añadido la sintaxis corta de array, e.g. $a = [1, 2, 3, 4]; o $a = ['uno' => 1, 'dos' => 2, 'tres' => 3, 'cuatro' => 4];.
- Se ha añadido la derreferenciación de función de array, p.ej. foo()[0].
- Los cierres ahora soportan $this.
- <?= ahora está siempre disponible, sin tener en cuenta la opción de php.ini short_open_tag.
- Se ha añadido el acceso a miembro de clase en la instanciación, p.ej. (new Foo)->bar().
- Ahora está soportada la sintaxis Clase::{expr}().
- Se ha añadido el formato de número binario, p.ej. 0b001001101.
- Se han mejorado los mensajes de error de análisis y las advertencias de argumentos incompatibes.
- La extensión de sesiones ahora puede rastrear el progreso de subida de ficheros.
- Desarrollo interno de servidor web en modo CLI.
Información extraida de php.net