Шаблонизаторы для PHP
Язык PHP сам по себе может использоваться как шаблонизатор: Изолирование от HTML (смешанный режим). Недостатком PHP, как шаблонизатора является его многословность, например при экранировании вывода данных.
Различают активные (pull) и пассивные (push) шаблоны.
Активный шаблон, работает как независимая программа со своими собственными операторами, циклами, командами подгрузки содержимого из других файлов и т.д.. Для дизайнера это выглядит сложно. Поэтому обычно для упрощения синтаксиса активных шаблонов инструкции PHP (foreach, if и.д.) "маскируют" специальными псевдотегами. В дальнейшем активный шаблон специальным скриптом- транслятором переводится в обычный код на PHP, который в дальнейшем и выполняется. Недостаток активных шаблонов, что их как правило напрямую нельзя открывать в браузере - будет просто видна мешанина символов, даже если шаблон сохранен в файле HTML.
Пассивные шаблоны не включают никаких исполняемых инструкций. Пассивные шаблоны удобны когда мало блоков и много статического HTML кода.
Шаблонизаторы - трансляторы активных шаблонов.
- Twig
Шаблонизаторы - для пассивных шаблонов.
Изолирование от HTML
- Шаблоны в PHP для чайников. Нативный синтаксис, PHP как шаблонизатор.
Если вы создаете заголовок страницы динамически с помощью PHP, затем идет статическое содержание страницы и все заканчивается динамически создаваемым футером, можно сделать так:
<?php PHP-код динамического заголовка ?> Статичный HTML-код <?php PHP-код динамического футера ?>
Более того, PHP- код продолжает выполняться с того места, на котором он оборвался, так что можно его разрывать даже так:
<?php Выражение IF { ?> HTML-код, если условие IF выполняется <?php } else { ?> HTML-код, если условие IF не выполняется <? } ?>
HTML_Template_IT
Homepage: HTML_Template_IT
HTML_Template_IT используется для пассивных шаблонов. Циклы, условия обрабатываются в php- файле, а шаблон разбит на блоки, которые заполняются отдельно друг от друга. Шаблонизатор понимает вложенные блоки.
- Установка
# aptitude install php-html-template-it
- Пример. Замена в шаблоне переменной 'code_body' на наше значение.
<?php require_once 'HTML/Template/IT.php'; // Полный путь к библиотеке /usr/share/php/HTML/Template/IT.php $tpl = new HTML_Template_IT(); $tpl->loadTemplatefile('tpl/main.html', true, true); // Читаем шаблон $tpl->setVariable('code_body','Здесь заменили code_body!!!'); print $tpl->show(); // выведем финальную страницу пользователю ?>
Часть файла tpl/main.html:
<div class="blockg"> <!-- BEGIN block_body --> <p> {code_body}</p> <!-- END block_body --> </div>
- Синтаксис блока
<!-- BEGIN имя блока --> {переменная блока} <!-- END имя блока -->
- Пример. Заменить в шаблоне блок несколькими значениями. Блок:
<!-- BEGIN block_list_countries --> <p> {list_countries}</p> <!-- END block_list_countries -->
Функция замены:
<?php require_once 'HTML/Template/IT.php'; // /usr/share/php/HTML/Template/IT.php $tpl = new HTML_Template_IT(); $tpl->loadTemplatefile('tpl/main.html', true, true); $arr=array("first", 5 => "second", "third"); foreach ($arr as $value) { $tpl ->setCurrentBlock('block_list_countries'); $tpl ->setVariable('list_countries', $value); $tpl ->parseCurrentBlock(); } print $tpl->show(); // выведем финальную страницу пользователю ?>
📌 Для тестирования скриптов, установщиков VPN, Python ботов рекомендуем использовать надежные VPS на короткий срок. Если вам нужна помощь с более сложными задачами, вы можете найти фрилансера, который поможет с настройкой. Узнайте больше о быстрой аренде VPS для экспериментов и о фриланс-бирже для настройки VPS, WordPress. 📌
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!
7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Китайский VPN Shadowsocks простая установка и настройка
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах