XHP es un aumento de PHP y Hack desarrollado en Facebook para permitir la sintaxis XML con el fin de crear elementos HTML personalizados y reutilizables . Está disponible como un proyecto de software de código abierto GitHub y como un módulo Homebrew para PHP 5.3, 5.4 y 5.5. Facebook también ha desarrollado un aumento similar para JavaScript , llamado JSX .
Autor (es) original (es) | Marcel Laverdet |
---|---|
Desarrollador (es) | |
Versión inicial | Febrero de 2010 |
Lanzamiento estable | 2.6.0 / 10 de mayo de 2018 [1] |
Repositorio | |
Escrito en | PHP , piratear |
Plataforma | Multiplataforma |
Tipo | Biblioteca PHP |
Licencia | antes de la versión 2.6: Licencia BSD , a partir de la versión 2.6: Licencia MIT |
Sitio web | facebook |
Orígenes
XHP se inspiró libremente en ECMAScript para XML [2] y fue creado por Marcel Laverdet. Primero se desarrolló para Facebook Lite como una nueva capa de representación de la interfaz de usuario, pero luego se transfirió a la pila web móvil y www de Facebook y se incorporó a HipHop para PHP . Se puso a disposición del público en febrero de 2010 y ahora representa casi todo el HTML generado por el lado del servidor de Facebook en todas sus propiedades.
Beneficios
XHP ofrece una interfaz mucho más limpia para la programación de la interfaz de usuario cuando se genera HTML en PHP, pero también tiene algunas ventajas de ingeniería.
- Validación en tiempo de análisis de la sintaxis HTML
- XHP valida la sintaxis y la estructura de todo el árbol del documento al renderizar y generará una excepción si un elemento no se cerró correctamente, tiene hijos no válidos, tiene un atributo no válido o le faltan los hijos o atributos obligatorios.
- Protección XSS automática
- Debido a que todo el procesamiento de la página se realiza dentro de XHP, y sabe qué es HTML y qué es contenido, XHP escapa de todo el contenido sin ningún esfuerzo especial por parte del programador.
- Mutación de objeto
- Objetos XHP se almacenan como objetos PHP estándar, por lo que se pueden manipular a través de un DOM-como API, que incluye métodos tales como
setAttribute()
,getAttribute()
,appendChild()
, y varios otros antes o durante rinden. - HTML personalizado
- En lugar de escribir funciones para generar HTML, o cambiar dentro y fuera de PHP, los elementos XHP personalizados se pueden definir y mezclar con elementos HTML estándar que abstraerán estructuras HTML comunes.
Ver también
Referencias
enlaces externos
- Página web oficial
- xhp-lib en GitHub
- Code Before the Horse : información sobre la instalación, los usos y las mejores prácticas de XHP
- Anuncio de XHP de Facebook