WikiDer > XHP
Эта статья поднимает множество проблем. Пожалуйста помоги Улучши это или обсудите эти вопросы на страница обсуждения. (Узнайте, как и когда удалить эти сообщения-шаблоны) (Узнайте, как и когда удалить этот шаблон сообщения)
|
Оригинальный автор (ы) | Марсель Лавердет |
---|---|
Разработчики) | |
изначальный выпуск | Февраль 2010 г. |
Стабильный выпуск | 2.6.0 / 10 мая 2018 г.[1] |
Репозиторий | |
Написано в | PHP, Взломать |
Платформа | Кроссплатформенность |
Тип | Библиотека PHP |
Лицензия | до версии 2.6: Лицензия BSD, Начиная с версии 2.6:Лицензия MIT |
Интернет сайт | facebook |
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.
Смотрите также
Рекомендации
внешняя ссылка
- Официальный веб-сайт
- xhp-lib на GitHub
- Код перед лошадью - Информация об установке, использовании и передовом опыте XHP
- Объявление о XHP от Facebook