February 19th, 2010

XHP, el aporte de Facebook a PHP

HAT

Hace unas semanas Facebook sorprendió con el lanzamiento de HipHop, un transformador de código fuente que toma el PHP, lo transforma hacia C++ y lo compila con g++ (compilador de C++). Y el resultado acelera la ejecución del código disminuyendo los recursos del servidor en un 50%. Concepto sencillo no?

HipHop está siendo utilizado en Facebook Lite y fué liberado bajo licencia opensource PHP.

Para más información podemos visitar la wiki del proyecto o el repositorio git, donde se pueden bajar el código fuente.

Además Facebook nos dió a conocer XHP, se trata de una nueva forma de programar con PHP que aumenta la sintaxis del lenguaje para permitir que la escritura del código sea más rápida y fácil de entender y para ayudarte a evitar ataques Cross-Side Scripting (XSS).

Según los responsables de Facebook, XHP es una nueva forma de programar con PHP que “aumenta la sintaxis del lenguaje para permitir que la escritura del código sea más rápida y fácil de entender y para ayudarte a evitar ataques Cross-Side Scripting (XSS)”.

Veamos un ejemplo de cómo la sintaxis de PHP ha cambiado con XHP:

En el código anterior se presentan dos problemas, el primero y más obvio es que seremos víctimas de XSS. El segundo problema es que si olvidamos abrir o cerrar los tag PHP, nustra página generará un error.

Con XHP ambos problemas se resuelven:

Este cambio en la sintaxis del lenguaje trae consigo algunas ventajas:

  • Debido a PHP es ahora context-specific, sabe que cuando la variable $_POST es invocada la entrada de datos será HTML y por lo tanto debe escapar los caracteres.
  • Incorporar XML dentro de la sintaxis PHP permite detectar errores con los markup en tiempo de parseo y no en tiempo de ejecución.
  • Ahora a los XML se los puede asignar a una variable y manipularlos como un objeto cualquiera.
  • Adicionalmente XHP permite definir nuevos tags, con lo que complejas secciones de código HTML, pueden ser ahora definidas como un nuevo marcador, desempleñando de hecho el XHP el papel de un sistema de templates.

XHP fue liberado bajo la misma licencia de HipHop y podemos encontrar el código fuente del proyecto en gitHub.

Visto en: Volkan Rivera

Share Button

Dejar un comentario