Инструменты пользователя

Инструменты сайта


limb3:ru:packages:wact:how_to_run_wact_only

Рендеринг WACT шаблона. Использование пакета WACT

Использование пакета WACT отдельно, отличается от его использования с пакетом WEB_APP, поэтому мы выделили отдельный раздел.

Настройки шаблонизатора

WACT считывает настройки из папки, которую определяет константа WACT_DEFAULT_CONFIG_DIR. Константа определяется в файле limb/wact/common.inc.php. При помощи этой константы указывается путь до директории, где хранится файл settings.ini с настройками компилятора. В своем приложении вам необходимо будет переопределить эту константу WACT_DEFAULT_CONFIG_DIR и указать путь до папки, где будет лежать ваш файл settings.ini. Эталон можно взять из папке limb/wact/settings/

Пример файла с настройками:

# should template compiler scan for tags, filter and properties every time
force_scan = 0
 
# should template compiler recompile templates every time
force_compile = 1
 
# absolute path to your wact templates cache dir
#cache_dir = limb/wact/cache/
 
# directory where template compiler looks for source templates
templates_dir = templates/
 
# directories where all compiler looks for tags, filters and properties
[scan_directories]
 0 = limb/wact/src/tags
 
# list of sax filters that can be applied to compiled template
# see limb/wact/src/compiler/sax_filters
[sax_filters]

Поясним значения опций:

  • force_scan - указывает, должен ли компилятор на каждый запрос создавать словарь тегов и фильтров. Эта опция практически всегда имеет значение 0, так как эта операция весьма долго выполняется. Словари тегов и фильтров кешируются в определенной папке (см. ниже). Для обновления кэша - нужно вручную очищать эту папку.
  • force_compile - указывает, должен ли компилятор компилировать шаблон на каждое обращение. Если эта опция имеет значение 0, тогда шаблон будет компилироваться только один раз. Обычно при разработке приложения ставят значение 1, а на продукционном сервере - 0.
  • cache_dir - указывает абсолютный путь, где хранится кеш шаблонизатора. По-умолчанию, эта опция в файле настроек закомментирована, и кеш хранится в папке limb/wact/cache. Этот путь определяется константой WACT_CACHE_DIR (в файле limb/wact/common.inc.php) - возможно, вы захотите указать свой собственный путь, например, где-то внутри вашего приложения.
  • templates_dir - указывает на путь, где должны искаться файлы шаблонов.
  • [scan_directories] - массив путей, где шаблонизатор будет искать теги и фильтры, поддерживаемые шаблонизатором. По-умолчанию, указаны папка внутри пакета WACT, то есть limb/wact/src/tags/.
  • [sax_filters] - массив фильтров, через которые пропускается компилируемый шаблон. см. папку limb/wact/src/compiler/saxfilters/. Указывается часть названия класса без приставки WACT и без суффикса SaxFilter, например, TagsToLower или Whitespace.

Инициализация и рендеринг шаблона

Шаблон инициализируется путем создания экземпляра класса WactTemplate() и передачей ему пути до шаблона. Шаблонизатор находит шаблон и компилирует его при необходимости. После инициализации шаблона можно передавать в него переменные, изменять состояние компонентов и т.д. Для вывода отработанного шаблона используется метод WactTemplate :: display(), а для получения результата отбработки можно использовать метод WactTemplate :: capture().

Например:

<?php
require_once 'limb/wact/common.inc.php';
require_once 'limb/wact/src/WactTemplate.class.php';
 
$page = new WactTemplate('page1.html');
$page->set('title', 'Super page');
$page->display(); 
?>

Где посмотреть примеры

Примеры работы шаблонизатора можно посмотреть в папке limb/wact/examples/. Для того чтобы запустить примеры необходимо создать виртуальный хост на эту папку. Подробности см. в файле README.

Обсуждение

Ваш комментарий. Вики-синтаксис разрешён:
   ____   _  __  _   __   __ __   ___ 
  / __/  / |/ / | | / /  / // /  / _ )
 _\ \   /    /  | |/ /  / _  /  / _  |
/___/  /_/|_/   |___/  /_//_/  /____/
 
limb3/ru/packages/wact/how_to_run_wact_only.txt · Последние изменения: 2010/11/10 10:02 (внешнее изменение)