Изменения

Перейти к: навигация, поиск

Шаблонизатор VMX::Template

2968 байтов добавлено, 00:08, 8 января 2011
м
Нет описания правки
'end_subst' => '}', # маркер конца подстановки выражения
'compiletime_functions' => # дополнительные компилируемые функции
array('func' => callback), # массив хеш вида имя функции (в шаблонах) => callback,
# которому передаются скомпилированные выражения всех аргументов
# немного legacy, устаревшее:
=== Perl ===
 
<source lang="perl">
use VMX::Template;
 
# Конструктор
$template = new VMX::Template(
'root' => '.', # директория с шаблонами
'cache_dir' => undef, # директория для кэширования компилированного кода шаблонов
'reload' => 2, # если 0, то шаблоны не будут перечитываться с диска, и вызовов stat() происходить не будет
# если >0, то шаблоны будут перечитываться с диска не чаще чем раз в reload секунд
'print_error' => 1, # если TRUE, ошибки компиляции попадают в вывод шаблона
'raise_error' => 0, # если TRUE, при ошибке компиляции вызывается die()
'use_utf8' => undef, # если TRUE, использовать "use utf8" на шаблонах
'begin_code' => '<!--', # маркер начала директивы кода
'end_code' => '-->', # маркер конца директивы кода
'eat_code_line' => 1, # (похоже на TT CHOMP) съедать "лишний" перевод строки, если в строке только директива?
'begin_subst' => '{', # маркер начала подстановки выражения
'end_subst' => '}', # маркер конца подстановки выражения
'compiletime_functions' => # дополнительные компилируемые функции
{ 'func' => sub {} }, # хеш вида имя функции (в шаблонах) => coderef,
# которому передаются скомпилированные выражения всех аргументов и первым - сам $template
# немного legacy, устаревшее:
'wrapper' => undef, # если coderef, через это будет пропущен вывод всех шаблонов ("глобальный фильтр")
'strict_end' => 0, # требовать <!-- END имя_блока --> после <!-- BEGIN имя_блока -->
);
 
# Присвоение переменных:
$template->vars("ключ" => "значение", "ключ" => "значение", ...);
 
# Выполнения полностью аналогичны PHP:
$page = $template->parse('имя_файла' [, 'имя_блока'] [, { "ключ" => "значение", ... } ]);
$page = $template->parse('', 'код' [, 'имя_блока'] [, { "ключ" => "значение", ... }]);
# Очистка сохранённых данных для генерации ещё одной страницы:
$template->clear;
</source>
=== Различия ===

Навигация