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

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

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

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

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

12.03.2018г.
Просмотров: 4602
Комментарии: 0
Глубокое обучение с точки зрения практика

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

12.03.2018г.
Просмотров: 3159
Комментарии: 0
Изучаем pandas

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

12.03.2018г.
Просмотров: 3962
Комментарии: 0
Программирование на языке Rust (Цветное издание)

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

19.12.2017г.
Просмотров: 3964
Комментарии: 0
Глубокое обучение

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

19.12.2017г.
Просмотров: 6467
Комментарии: 0
Анализ социальных медиа на Python

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

19.12.2017г.
Просмотров: 3309
Комментарии: 0
Основы блокчейна

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

19.12.2017г.
Просмотров: 3588
Комментарии: 0
Java 9. Полный обзор нововведений

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

16.02.2017г.
Просмотров: 7447
Комментарии: 0
Опоздавших не бывает, или книга о стеке

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

17.05.2016г.
Просмотров: 10812
Комментарии: 0
Теория вычислений для программистов

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

30.03.2015г.
Просмотров: 12522
Комментарии: 0
От математики к обобщенному программированию

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

18.02.2014г.
Просмотров: 14229
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

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

13.02.2014г.
Просмотров: 9261
Комментарии: 0
Читайте, размышляйте, действуйте

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

12.02.2014г.
Просмотров: 7208
Комментарии: 0
Рисуем наши мысли

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

10.02.2014г.
Просмотров: 5514
Комментарии: 3
Страна в цифрах

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

18.12.2013г.
Просмотров: 4746
Комментарии: 0
Большие данные меняют нашу жизнь

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

18.12.2013г.
Просмотров: 3564
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

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

04.12.2013г.
Просмотров: 3273
Комментарии: 0
Паутина в облаках

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

03.12.2013г.
Просмотров: 3505
Комментарии: 1
Рецензия на книгу «MongoDB в действии»

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

02.12.2013г.
Просмотров: 3158
Комментарии: 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-45
E-mail: sa@samag.ru