Articulo de referencia

XHP

{{cite web |title=Releases |url=https://github.com/hhvm/xhp-lib/releases |website=[[GitHub]]|date=2023-02-03 }} "},"platform":{"wt":"[[Cross-platform]]"},"programming language":...

XHP es una extensión de PHP y Hack desarrollada en Meta (antes conocida como 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 en GitHub y como un módulo de Homebrew para PHP 5.3, 5.4 y 5.5. Meta también desarrolló una extensión similar para JavaScript , llamada JSX .

Orígenes

XHP se inspiró libremente en ECMAScript para XML y fue creado por Marcel Laverdet. Inicialmente se desarrolló para Facebook Lite como una nueva capa de renderizado de interfaz de usuario, pero posteriormente se adaptó a la plataforma web móvil y web de Facebook, además de incorporarse a HipHop para PHP . Se puso a disposición del público en febrero de 2010 [ 2 ] y, hasta 2020, representó casi la totalidad del HTML generado en el servidor de las aplicaciones de Facebook.

En 2020, Facebook rediseñó su aplicación web principal [ 3 ] para que funcionara principalmente con componentes React, renderizados tanto en el servidor como en el cliente. XHP todavía se usa en algunas partes de Facebook, pero es una tecnología obsoleta que se está eliminando gradualmente.

Beneficios

XHP ofrece una interfaz mucho más limpia para la programación de interfaces de usuario al generar HTML en PHP, pero también presenta algunas ventajas técnicas.

Validación de la sintaxis HTML en tiempo de análisis
XHP valida la sintaxis y la estructura de todo el árbol del documento al renderizarlo y generará una excepción si un elemento no se cerró correctamente, tiene elementos secundarios no válidos, tiene un atributo no válido o le faltan elementos secundarios o atributos obligatorios.
Protección XSS automática
Dado que toda la representación gráfica de la página se realiza dentro de XHP, y este sabe qué es HTML y qué es contenido, XHP escapa todo el contenido sin ningún esfuerzo especial por parte del programador.
Mutación de objeto
Los objetos XHP se almacenan como objetos PHP estándar, por lo que se pueden manipular a través de una API similar al DOM, que incluye métodos como setAttribute(), getAttribute(), appendChild(), y varios otros antes o durante la renderización.
HTML personalizado
En lugar de escribir funciones para generar HTML o alternar entre PHP y otros lenguajes, se pueden definir elementos XHP personalizados y combinarlos con elementos HTML estándar que abstraerán las estructuras HTML comunes.

Véase también

Referencias

  1. "Versiones" . GitHub . 3 de febrero de 2023.
  2. Laverdet, Marcel. "XHP: Una nueva forma de escribir PHP" . Ingeniería en Meta . Meta Platforms, Inc. Consultado el 10 de febrero de 2023 .
  3. N. Summers (29 de abril de 2020). "Por qué Facebook rediseñó Facebook.com" . Engadget .
  • Sitio web oficialEdita esto en Wikidata
  • xhp-lib en GitHub
  • Código antes que caballo : información sobre la instalación, usos y mejores prácticas de XHP
  • Anuncio de XHP de Facebook