Изменения

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

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

16 байтов добавлено, 22:57, 28 ноября 2014
м
Нет описания правки
=== Perl ===
[[File:Warning iconPerl версия обновлена и теперь в точности соответствует PHP-версии.svg|32px|link=]] '''Версия устарела! См. [http://www.yourcmc.ru/wiki/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D0%B8%D0%B7%D0%B0%D1%82%D0%BE%D1%80_VMX::Template&oldid=6200 старую версию документации].''' {{WikiCutBegin|Всё-таки посмотреть на использование в Perl}}
<source lang="perl">
# Конструктор
$template = new VMX::TemplateVMXTemplate(
'root' => '.', # директория с шаблонами
'cache_dir' => undef, # директория для кэширования компилированного кода шаблонов
# если >0, то шаблоны будут перечитываться с диска не чаще чем раз в reload секунд
'print_error' => 1, # если TRUE, ошибки компиляции попадают в вывод шаблона
'log_error' => 1, # если TRUE, ошибки компиляции печатаются на STDERR
'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' => '}', # маркер конца подстановки выражения
'eat_code_line' => 1, # (похоже на TT CHOMP) если TRUE, съедать "лишний" перевод строки, если в строке только директива кода (begin_code..end_code)
'no_code_subst' => 1, # если TRUE, выполнять директивы кода (begin_code..end_code), но игнорировать их результат
'compiletime_functions' => # дополнительные компилируемые функции
{ 'func' => sub {} }, # хеш вида имя функции (в шаблонах) => coderef,
# которому передаются скомпилированные выражения всех аргументов и первым - сам $templateпарсер (объект VMXTemplate::Parser) 'filters' => [ sub {}, .. ], # немного legacyфильтры для запуска на выводе каждого внешнего шаблона (фильтр - функция, устаревшее:модифицирующая $_[0]) 'wrapperstrip_space' => undef0, # если coderefTRUE, через это будет пропущен вывод удалять пробелы и табы из начала и конца всех шаблонов ("глобальный фильтр")строк вывода 'strict_endauto_escape' => 0'', # требовать <!функция авто-экранирования, например "s" (для HTML- END имя_блока --> после <!-- BEGIN имя_блока -->безопасного режима)
);
 
# Присвоение переменных:
$template->vars("ключ" => "значение", "ключ" => "значение", ...);
# Выполнения полностью аналогичны PHP:
$template->clear;
</source>
 
{{WikiCutEnd}}
== Синтаксис шаблонов ==
== Различия PHP и Perl версий ==
 
Perl версия обновлена и теперь в точности соответствует PHP-версии.
==== Кэширование работает по-разному ====

Навигация