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

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

Мониторинг  

Какая задача мониторинга отнимает больше всего времени?

Многие системные администраторы тратят до 30% рабочего времени на рутину мониторинга. Но

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

Рынок труда  

Какие навыки вы хотите развивать в 2026 году?

Рынок труда меняется быстро. Еще вчера его называли рынком соискателей, а сегодня

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

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

От сисадмина до архитектора: книги, которые прокачают ваш стек в этом году

Новинки от издательства «БХВ» отличаются тем, что в них часто делается упор

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

Автоматизация  

Автоматизируем рутину: что реально работает?

Многие сисадмины автоматизировали что-то за последний год. Но далеко не все остались

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

Защита ИТ-системы  

Практическая защита: что вы внедрили и что мешает?

Какие меры безопасности реально внедрить в реальных условиях – и что не

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

Вопрос-ответ  

Обеспечиваем безопасную эксплуатацию базы данных

Что для вас чаще всего является причиной инцидентов с БД? Как вы

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

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

От «безопасного» Linux до Контролируемого взлома

Издательство «БХВ» продолжает радовать читателей интересными новинками и в наступившем году. Вы можете

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

03.12.2013г.
Просмотров: 6112
Комментарии: 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