Антон Шевчук // Web-разработчик

Шаблонизатор HSTemplate

High Speed Template для PHP4/5 – это действительно очень быстрый шаблонный движок, т.к. это не язык написанный на PHP – это чистый PHP!
Идея создания появилась после прочтения этой статьи.

Описание

Этот пакет представляет собой шаблонный движок с поддержкой кэширования вывода.

История

2007

Изучаем 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”:

  1. первый аргумент – уникальный ID (можно использовать $_SERVER[‘REQUEST_URI’])
  2. второй аргумент – время жизни кэша – по умолчанию 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();

Downloadlast versionHSTemplate

© Антон Шевчук 2007-2014