Шаблоны FastTemplateFastTemplate - это набор классов, позволяющих реализовать работу с шаблонами. Логику добавить в шаблон FastTemplate нельзя, вся она должна находиться в коде программы. Идея работы шаблонов FastTemplate заключается в том, что любая большая страница состоит из множества кусочков, самые маленькие из которых - обычные строки текста, и они получают имя и значение. Что представляет собой файл шаблона FastTemplate? Это обычный html-файл, в котором могут встречаться переменные особого вида, впоследствии обрабатываемые методами класса FastTemplate. Синтаксис переменных в шаблонах FastTemplate описывается следующим выражением: {([A-Z0-9_]+)} Это значит, что переменная должна начинаться с фигурной скобки "{". Второй и последующие символы должны быть буквами верхнего регистра от A до Z, цифрами или символами подчеркивания. Переменная вычисляется с помощью закрывающей фигурной скобки "}".
{TITLE}
{AUTH20}
{TOP_OF_PAGE}
Пример
15.1.
Вычисление переменной с помощью закрывающей фигурной скобки "}"
(html,
txt)
Как уже было сказано, основная идея FastTemplate - создание страницы с помощью вложенных шаблонов. Например, для решения нашей задачи можно создать три файла шаблона: - main.tpl (Этот шаблон будет выводить страницу в целом)
<html>
<head><title>{TITLE_}</title>
</head>
<body>
{MAIN}
</body>
</html>
- list.tpl (будет описывать, как выводить список в целом)
<ul>
{LIST_ELEMENT}
</ul>
- list_element.tpl (описывает непосредственно элемент списка)
<li><a href="{FULLTEXT}">{TITLE}</a>
({AUTHOR})
<br> <p> {ABSTRACT}
Шаблоны мы создали - работу дизайнера выполнили. Теперь нужно научиться их обрабатывать, т.е. выполнить работу программиста. Сейчас создадим программу для обработки приведенных выше шаблонов. Перед началом работы с шаблонами FastTemplate нужно подключить этот набор классов к нашей программе. В реальной жизни набор классов FastTemplate записан в один файл, как правило, с названием class.FastTemplate.php3, поэтому подключить его можно, например, с помощью команды:
include("class.FastTemplate.php3");
Следующий важный шаг - это создание объекта класса FastTemplate, с которым впоследствии мы будем работать:
$tpl = new FastTemplate(
"/path/to/templates");
В качестве параметра передается путь к месту, где находятся наши шаблоны. Методы FastTemplateДалее необходимо изучить методы, которые можно применять к созданному объекту класса FastTemplate. Параллельно обратим внимание, как их можно использовать для решения нашей задачи. Для работы с FastTemplate нужно знать четыре основных метода: define, assign, parse и FastPrint. Метод defineСинтаксис:
define( array ( ключ => значение,
ключ1 => значение1, ... ))
Метод define() связывает имя файла шаблона с более коротким именем, которое можно будет использовать в программе. То есть "ключ" - это имя, которое мы будем использовать в программе для ссылки на файл шаблона, имя которого записано в строке "значение". Реальные имена файлов шаблонов не рекомендуется использовать нигде, кроме метода define. При вызове метода define() происходит загрузка всех определенных в нем шаблонов.
$tpl->define( array (main => "main.tpl",
list_f => "list.tpl",
list_el=> "list_element.tpl" ));
Пример
15.2.
Использование метода define()
(html,
txt)
Здесь мы задаем псевдонимы именам файлов шаблонов. Эти псевдонимы, т.е. переменные main, list_f и list_el, будут использоваться в программе вместо соответствующих имен файлов main.tpl, list.tpl и list_element.tpl. Метод assignСинтаксис:
assign( (пары ключ/значение) или
( array(пары ключ/значение) )
Метод assign() присваивает переменным значения, "ключ" - это имя переменной, а "значение" - значение, которое ей нужно присвоить. Чтобы переменная в шаблоне была заменена значением, это значение нужно задать ей с помощью метода assign(). Согласно синтаксису этот метод можно использовать в двух различных формах. В FastTemplate есть только один массив, поэтому, если вы повторно задаете значение одному и тому же ключу, оно будет перезаписано.
$tpl->assign(array(
TITLE => "Установка и настройка ПО",
TITLE => "Введение в PHP" ));
Пример
15.3.
Использование метода assign()
(html,
txt)
Здесь мы дважды устанавливаем значение переменной, доступной в файлах шаблона по имени TITLE. Эта переменная будет иметь последнее присвоенное ей значение, т.е. она равна строке "Введение в PHP".
|