PHP versión 5.3, trae más de lo que se esperaba

6 Jul 2009 en Servidores

El release 5.3 de PH incorpora capacidades y acelera la performance de este lenguaje. Se trata de un release mayor a lo que los desarrolladores podían esperar y ya incorpora algunas características que estaban previstas para la futura versión PHP 6. La nueva versión llega en momentos en que otros lenguajes como Ruby, Java y .NET, disputan su mismo espacio.
La aparición de tantas nuevas características se deba posiblemente al retraso que está sufriendo la llegada de la versión 6. Es por eso que este release también tardó en llegar, pero todo indica que la espera valió la pena.
El release incorpora elementos que facilitan el desarrollo de aplicaciones y simplifican la resolución de problemas. La primera de estas capacidades nace del soporte a un nuevo namespace (agrupamiento lógico de nombres usado dentro de un programa, también denominado name scope), capaz de encapsular clases y otros items PHP. Según la opinión de especialistas, eso permite una codificación más limpia y convenciones de denominación más sencillas para los desarrolladores PHP.
Ilia Alsahnetsky, uno de los desarrolladores del core de PHP y release master del release anterior, nos dice que “actualmente la mayoría de los autores de librerías se ven forzados a prefijar sus clases y nombres de funciones con los nombres de librerías para evitar conflictos de denominación. Eso lleva a la creación de nombres ingobernables. Esta capacidad también simplificaría la utilización de múltiples librerías que no necesariamente deben seguir las convenciones de denominación consistentes en prefijar sus nombres de clase/función dentro de una misma aplicación.”
PHP es muy utilizado con bases de datos MySQL como parte de lo que denominamos LAMP (Linux, Apache, MySQL, PHP) como stack para aplicaciones Web. PHP 5.3 incorpora el dispositivo MySQLInd, que reemplaza a la actual librería libmysql en la conexión de PHP con MySQL, sumando la capacidad necesaria para la optimización de performance y utilización de memoria de MySQL.
Alshanetsky, sin embargo, no cree que el uso de MySQLInd opere una sustancial mejora en la velocidad de la mayoría de las aplicaciones. “En las bases de datos, la velocidad de la interfaz a la base de datos no es el principal cuello de botella, sino las operaciones de la base misma. La gente con aplicaciones MySQL con mucho tuning podría apreciar mejoras por la mayor velocidad y especialización de la interfaz,” comenta. En su opinión, nos dice luego, los usuarios verán un modesto incremento del 5 al 15% en la performance de la mayoría de los workflows, comparando con versión 5.2 de PHP. Cree que algunos workflows muy especializados verán mayores beneficios.
PHP 5.3 muestra qué funcionalidad está en vías de desaparecer del lenguaje y el nuevo código de error, E-DEPRECATED, se encarga de ponerla en evidencia. “Antes no teníamos un código de error explícito para funcionalidad despreciable y la gente no podía, en un nivel de código de error, saber qué funcionalidad podría eventualmente ser removida,” dice Alshanetsky. De hecho, la mayoría de las cosas que se marquen como E-DEPRECATED, estarán ausentes de PHP 6.