Jump to content

XHP

XHP
Оригинальный автор(ы) Марсель Лаверде
Разработчик(и) Мета-платформы
Первоначальный выпуск февраль 2010 г. ( 2010-02 )
Стабильная версия
4.1.0 / 18 ноября 2021 г .; 2 года назад ( 18.11.2021 ) [1]
Репозиторий
Написано в PHP , Взлом
Платформа Кросс-платформенный
Тип PHP-библиотека
Лицензия до версии 2.6: Лицензия BSD . Начиная с версии 2.6: Лицензия MIT.
Веб-сайт ххвм /блог

XHP — это расширение PHP и Hack, разработанное в Meta (ранее известное как Facebook), позволяющее использовать синтаксис XML для создания пользовательских и многократно используемых HTML- элементов. Он доступен как проект программного обеспечения с открытым исходным кодом на GitHub и как модуль Homebrew для PHP 5.3, 5.4 и 5.5. Meta также разработала аналогичное расширение для JavaScript , названное JSX .

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

[ редактировать ]

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

В 2020 году Facebook обновил свое основное веб-приложение. [3] работать в основном на компонентах React, отображаемых как на стороне сервера, так и на стороне клиента. XHP все еще используется в некоторых частях Facebook, но сейчас эта устаревшая технология постепенно выводится из эксплуатации.

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

[ редактировать ]

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

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

См. также

[ редактировать ]
  1. ^ «Выпуски» . Гитхаб . 03.02.2023.
  2. ^ Лаверде, Марсель. «XHP: новый способ написания PHP» . Инженерное дело в Мете . Мета Платформы, Inc. Проверено 10 февраля 2023 г.
  3. ^ Н. Саммерс (29 апреля 2020 г.). «Почему Facebook изменил дизайн Facebook.com» . Engadget .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: c963c11db28535253d26e428bf43ea85__1703410440
URL1:https://arc.ask3.ru/arc/aa/c9/85/c963c11db28535253d26e428bf43ea85.html
Заголовок, (Title) документа по адресу, URL1:
XHP - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)