XHP - XHP

XHP
Оригинальный автор (ы)Марсель Лавердет
Разработчики)Facebook
изначальный выпускФевраль 2010 г. (2010-02)
Стабильный выпуск
2.6.0 / 10 мая 2018 г.; 2 года назад (2018-05-10)[1]
Репозиторий Отредактируйте это в Викиданных
Написано вPHP, Взломать
ПлатформаКроссплатформенность
ТипБиблиотека PHP
Лицензиядо версии 2.6: Лицензия BSD, Начиная с версии 2.6:Лицензия MIT
Интернет сайтfacebook.github.io/ xhp-lib

XHP это увеличение PHP и Взломать разработан в Facebook, чтобы позволить XML синтаксис для создания пользовательских и многоразовых HTML элементы. Он доступен как программное обеспечение с открытым исходным кодом GitHub проект и как Домашнее пиво модуль для PHP 5.3, 5.4 и 5.5. Facebook также разработал аналогичное дополнение для JavaScript, а именно JSX.

Происхождение

XHP был вдохновлен ECMAScript для XML[2] и создан Марселем Лаверде. Сначала он был разработан для Facebook Lite в качестве нового слоя рендеринга пользовательского интерфейса, но позже был перенесен в стек www и мобильного Интернета Facebook, а также включен в HipHop для PHP. Он стал общедоступным в феврале 2010 года и теперь учитывает почти весь HTML-код, созданный на стороне сервера Facebook, и все его свойства.

Преимущества

XHP предлагает гораздо более чистый интерфейс для программирования пользовательского интерфейса при выводе HTML в PHP, но также имеет некоторые технические преимущества.

Проверка синтаксиса HTML во время синтаксического анализа
XHP проверяет синтаксис и структуру всего дерева документа при рендеринге и генерирует исключение, если элемент не был закрыт должным образом, имеет недопустимые дочерние элементы, имеет недопустимый атрибут или отсутствуют требуемые дочерние элементы или атрибуты.
Автоматическая защита от XSS
Поскольку весь рендеринг страницы выполняется внутри XHP, и он знает, что такое HTML, а что такое контент, XHP экранирует весь контент без каких-либо особых усилий со стороны программиста.
Мутация объекта
Объекты XHP хранятся как стандартные объекты PHP, поэтому ими можно управлять через DOM-подобный API, который включает такие методы, как setAttribute (), getAttribute (), appendChild (), и несколько других до или во время рендеринга.
Пользовательский HTML
Вместо написания функций для генерации HTML или включения и выключения PHP можно определить пользовательские элементы XHP и смешать их со стандартными элементами HTML, которые будут абстрагироваться от общих структур HTML.

Смотрите также

Рекомендации

  1. ^ «Релизы». GitHub. 2019-03-06.
  2. ^ "Ответ Эвана Пристли на вопрос: Вдохновлен ли XHP функцией XML Literals в VB 9?".

внешняя ссылка