Построение сайтов с использованием Hack::Журнал СА 05.2016
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Наука и технологии
Подписка
Где купить
Авторам
Рекламодателям
Архив номеров
Контакты
   

  Опросы
  Статьи

Электронный документооборот  

5 способов повысить безопасность электронной подписи

Область применения технологий электронной подписи с каждым годом расширяется. Все больше задач

 Читать далее...

Рынок труда  

Системные администраторы по-прежнему востребованы и незаменимы

Системные администраторы, практически, есть везде. Порой их не видно и не слышно,

 Читать далее...

Учебные центры  

Карьерные мечты нужно воплощать! А мы поможем

Школа Bell Integrator открывает свои двери для всех, кто хочет освоить перспективную

 Читать далее...

Гость номера  

Дмитрий Галов: «Нельзя сказать, что люди становятся доверчивее, скорее эволюционирует ландшафт киберугроз»

Использование мобильных устройств растет. А вместе с ними быстро растет количество мобильных

 Читать далее...

Прошу слова  

Твердая рука в бархатной перчатке: принципы soft skills

Лауреат Нобелевской премии, специалист по рынку труда, профессор Лондонской школы экономики Кристофер

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 9937
Комментарии: 0
Потоковая обработка данных

 Читать далее...

19.03.2018г.
Просмотров: 8149
Комментарии: 0
Релевантный поиск с использованием Elasticsearch и Solr

 Читать далее...

19.03.2018г.
Просмотров: 8254
Комментарии: 0
Конкурентное программирование на SCALA

 Читать далее...

19.03.2018г.
Просмотров: 5225
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 5909
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

Друзья сайта  

 Построение сайтов с использованием Hack

Архив номеров / 2016 / Выпуск №5 (162) / Построение сайтов с использованием Hack

Рубрика: Разработка /  Особенности языка   | Дополнительные материалы

Александр Календарев АЛЕКСАНДР КАЛЕНДАРЕВ, РБК Медиа, программист, akalend@mail.ru

Построение сайтов с использованием Hack

Рассмотрим построение сайтов с помощью нового языка Hack, который является эволюцией PHP

Как уже говорилось в предыдущих частях статьи [1, 2], в Hack запрещен закрывающий скриптовый тег ?>. В основе современного веб-приложения лежит MVC-концепция (Модель-Представление-Контроллер). За слой Представление (View) отвечает специальный модуль, который называют «шаблонизатор». Так как же нам построить шаблонизатор, если запрещен закрывающий скриптовый тег ?>.

Что за зверь XHP?

Разработчики Hack придумали альтернативный шаблонизатору вcтроенный инструмент XHP (XHTML for PHP), который представляет собой разобранное XML-дерево PHP-объектов.

Традиционный вывод в PHP для переменной $word = 'word':

<p><strong>Hello <?= $word ?></strong>!</p>

Или, используя вывод:

echo "<p><strong>Hello $word </strong>!</p>";

А вывод, используемый в XHP, будет следующим:

echo <p><strong>Hello {$word}</strong>!</p>;

С точки зрения грамматики изменения не принципиальны. В синтаксисе РНР при выводе свойств объектов или элементов массивов присутствуют фигурные скобки. Здесь прииспользовании XHP мы видим только отсутствие двойных кавычек. Но разве только в этом разница? И что дает нам XHP?

Во-первых, весь ввод/вывод будет автоматически проверен и все опасные символы будут заменены на escape-последовательность и обратно. То есть использование для ввода функции htmlspecialchars() будет проходить автоматически.

Во-вторых, XHP подразумевает построение HTML-страницы по правилам XHML: на каждый открывающий тег должен быть парный закрывающий, а одиночный тег должен включать закрывающий слеш (<br />).

Например, следующая конструкция:

echo <p><strong>Hello {$word}</strong>!;

(отсутствует закрывающий тег </p>) даст ошибку:

Fatal error: XHP: mismatched tag: 'p' not the same as 'p' in test.php on line

В-третьих, идет проверка на правильность использования основных тегов HTML, например, между открывающим и закрывающим тегами <select> запрещено использовать любые другие теги. При вставке любого другого тега мы получим ошибку:

Fatal error: Element 'select' was rendered with invalid children.

В-четвертых, используя объектную модель (DOM), можно динамически строить необходимые HTML-конструкции.

И, в-пятых, можно самому придумывать пользовательские теги, вроде пользовательских компонент в ASP.NET.

Статью целиком читайте в журнале «Системный администратор», №05 за 2016 г. на страницах 52-55.

PDF-версию данного номера можно приобрести в нашем магазине.


  1. Календарев А. Введение в язык Hack. // «Системный администратор», №3, 2016 г. – С. 46-50 (http://samag.ru/archive/article/3150).
  2. Календарев А. Hack. Асинхронность. // «Системный администратор», №4, 2016 г. – С. 66-71 (http://samag.ru/archive/article/3177).
  3. Э. Гамма, Р. Хелм, Р. Джонсон, Дж. Влиссидес. Приемы объектно-ориентированного проектирования. – СПб: «Питер», 2001.
  4. Язык Hack. Официальный сайт – www.hacklang.org.
  5. Owen Yamauchi. Hack and HHVM. – O’Reilly Media. 2015 – http://oreilly.com/catalog/errata.csp?isbn=9781491920879.

Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-41
Fax: (499) 277-12-45
E-mail: sa@samag.ru