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

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

Мобильные приложения  

Искусственный интеллект в мобильных приложениях: возможности и перспективы

Обзор современных применений ИИ в мобильных приложениях, анализ перспектив развития этой технологии,

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

ИТ-образование  

Как сделать ИТ-образование эффективным?

Эксперты ИТ-отрасли отвечают на вопросы «СА». Обсуждаем ключевые аспекты для улучшения образовательных

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

Work-life balance  

Как айтишнику найти баланс между работой и личной жизнью?

Обсуждаем инструменты для эффективного управления временем, снижения уровня стресса и достижения гармонии. На

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

Книжная полка  

Всё самое нужное – под одной обложкой

Отличительная черта книжных новинок, выпущенных недавно издательством «БХВ» – это их универсальность. Не просто

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

ИТ-инфраструктура  

Системы мониторинга ИТ-инфраструктуры-2025

Без мониторинга ИТ-инфраструктуры не обходится ни одна компания, хотя бы потому, что

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

Открытое ПО  

Безопасность Open Source: рискуем или контролируем?

Компания «Кросс технолоджис» изучила, как используется ПО с открытым кодом в компаниях

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

Работа с нейросетью  

Скажи, есть ли у тебя AI, и я скажу, кто ты

Недавно сервис по поиску работы SuperJob выяснил, что каждый второй россиянин уже

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

Работа с Debian  

О Linux с любовью или Debian: через знание к любви

Конечно, одним лишь перечислением замечательных качеств любовь к Linux не возникнет. Для

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

Опрос  

Защита личных и клиентских данных: как мошенники используют ИИ и как защититься?

По данным RED Security, общее число кибератак на российские компании в 2024

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

Опрос  

Облачные инструменты для разработчиков

Эксперты ИТ-отрасли отвечают на вопросы «Системного администратора» > Как с помощью облака сделать

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

Опрос  

Рынок мобильных приложений: что будет актуальным в 2025 году?

Эксперты ИТ-отрасли отвечают на вопросы «Системного администратора» > Ваши прогнозы: чего ожидать от

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

Рынок труда  

Как успешно пройти все этапы собеседования на ИТ-должность?

По оценкам государства, дефицит ИТ-специалистов составляет от 740 тысяч до 1 миллиона

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

Спецпроект «Базальт СПО». Развитие Open Source в России  

Алексей Смирнов: «Сейчас трудно найти программный продукт, в котором нет свободного кода»

Какое будущее ждет свободное ПО? Влияет ли свободная или несвободная разработка на

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

Спецпроект «Базальт СПО». Развитие Open Source в России  

Николай Костригин: «Мы создали Hantis, конвейер автоматизации. Проекты, исследуемые разными инструментами, переходят от одного исполнителя к другому, развиваются, возвращаются к автору, и так по кругу»

О том, как идет работа по повышению безопасности отечественного программного обеспечения, рассказывает

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Друзья сайта  

 Построение сайтов с использованием 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