Шаблонизатор HSTemplate
High Speed Template для PHP4/5 – это действительно очень быстрый шаблонный движок, т.к. это не язык написанный на PHP – это чистый PHP!
Идея создания появилась после прочтения этой статьи.
Описание
Этот пакет представляет собой шаблонный движок с поддержкой кэширования вывода.
История
2007
- Релиз HSTemplate под GPL на Google-Code в Апреле 2007 (http://code.google.com)
- PHP Classes в Мае 2007 (http://www.phpclasses.org)
- FreshMeat в Мае 2007 (http://freshmeat.net)
Изучаем HSTemplate за 10 минут (маленькое руководство)
Инициализация
Подключаем файл HSTemplate класса
require_once('HSTemplate/HSTemplate.class.php');
Создаём объект типа HSTemplate. В качестве параметров “template_path” и “cache_path” используем полный путь к директориям
/* HSTemplate initialization */ $options = array( 'template_path' => 'templates', 'cache_path' => 'cache', 'debug' => false, ); $HSTemplate =& new HSTemplate($options);
Создаём объект типа HSTemplateDisplay.
// index page
$DisplayIndex = & $HSTemplate->getDisplay('index');
Добавление шаблонов
Структура категорий:
templates ('template_path')
`- index ('display' name)
|- header.html
|- index.html
`- footer.html
Пример:
// add templates
$DisplayIndex->addTemplate('header', 'header.html');
$DisplayIndex->addTemplate('index' , 'index.html' );
$DisplayIndex->addTemplate('footer', 'footer.html');
Назначение переменных
Вы можете использовать 3 секции для назначения переменных и разграничения видимости ‘Global section’, ‘Display section’ и ‘Template section’, у них есть приоритет:
- Global section – секция переменные которой видят все “display” и шаблоны
- Display section – секция переменные которой видят только шаблоны указанного “display”
- Template section – секция переменные которой видят только указанный шаблон
// assign template variables
$DisplayIndex->assign('template', 'DISPLAY', 'index');
// assign display variables
$DisplayIndex->assign('display', 'DISPLAY');
// assign global variables (for all display)
$HSTemplate->assignGlobal('global', 'GLOBAL');
Templates
Шаблоны представляют собой HTML файлы с вставками PHP кода
<h2>Test 1</h2> Global Variable: <?=$global?> Display Variable: <?=$display?> Template Variable: <?=$template?>
Использование кэша
Для включения кэша необходимо вызвать метод setCache для выбранного “Display”:
- первый аргумент – уникальный ID (можно использовать $_SERVER['REQUEST_URI'])
- второй аргумент – время жизни кэша – по умолчанию 3600 секунд (1час)
$DisplayContent->setCache('test1', 3600);
if (!$DisplayContent->isCached()) {
$DisplayContent->addTemplate('test1', 'test1.html');
$DisplayContent->assign('time', date('H:i:s'), 'test1');
}
Вывод
// display all non separated 'display' $HSTemplate->display();