строку, задать формат вывода даты и времени, сделать регулярную замену и многое другое.
Конфигурационные файлы используются для того, чтобы управлять глобальными переменными, используемыми в шаблоне, с помощью одного файла. Их идея очень похожа на таблицы стилей css. Конфигурационный файл содержит набор переменных и их значения. Перед именем переменной не ставится никаких дополнительных символов типа знака доллара. Значение переменной по желанию заключают в кавычки (двойные или одинарные), если оно состоит из нескольких строк, то его заключают в тройные кавычки.
# глобальные переменные
pageTitle = 'List of documents'
bodyBgColor = #000000
tableBgColor = #000000
rowBgColor = #00ff00
[Customer]
pageTitle = 'Список статей'
Intro = '''Это значение состоит из
нескольких строк. Поэтому его нужно
заключить в тройные кавычки.'''
# скрытая секция
[.Database]
host=localhost
db=book
user=nina
pass=123
Конфигурационный файл может состоять из нескольких разделов (секций), каждая из которых имеет имя и может загружаться отдельно от остальных секций. Имя секции заключается в квадратные скобки. Кроме секций в конфигурационном файле могут содержаться глобальные переменные - они не входят ни в одну секцию и всегда загружаются при загрузке конфигурационного файла. Если загружается какая-то одна секция, то загружаются ее переменные и глобальные переменные. Если переменная существует и как глобальная переменная, и как переменная секции, то используется переменная секции. Если вы одинаково назовете две переменные внутри одной секции, то будет использоваться последняя из них. В приведенном выше примере две секции - Customer и Database, а кроме них заданы глобальные переменные pageTitle, bodyBgColor, tableBgColor и rowBgColor.
Чтобы спрятать значение переменной или секцию целиком, нужно перед ее именем поставить точку. В таком случае при загрузке конфигурационного файла эти данные нельзя будет прочесть. В примере мы сделали скрытой секцию Database, чтобы нельзя было узнать пароль и имя пользователя, применяемые для установки соединения.
Комментарии в конфигурационном файле можно обозначать символом #.
Загрузка конфигурационных файлов производится с помощью встроенной функции или метода config_load, подробнее об этом мы расскажем в следующей главе.
Для работы с шаблонами класс Smarty определяет набор методов. Рассмотрим несколько основных методов.
Синтаксис:
void assign (смешанное значение);
void assign (имя переменной,
смешанное значение);
Метод используется для того, чтобы присвоить значения переменным шаблона. Можно передавать ассоциативные массивы, содержащие пары имя/значение переменных, или передавать пары имя/значение для каждой переменной в отдельности.
<?php
// передаем пары имя/значение для
// переменной Name и
// Address в отдельности
$smarty->assign('Name','Вася');
$smarty->assign('Address',$addr);
// здесь $addr может быть и массивом
// передаем ассоциативный массив
$smarty->assign(array(
'city' => 'Новосибирск',
'street' => 'Пирогова'));
// таким образом, переменные city и street
// получат соответствующие значения
?>
Синтаксис:
void append (смешанное значение);
void append (имя переменной,
смешанное значение);
void append (имя переменной,
смешанное значение, слияние);
Принцип действия этого примерно такой же, как и у assign. Метод append позволяет присоединить элемент к массиву. Если вы присоединяете значение к строковой переменной, то она преобразуется в массив, и значение добавляется уже в него. Так же, как и в assign, здесь можно передавать пары ключ/значение или ассоциативные массивы, содержащие эти пары. Если указать третий аргумент слияние равным TRUE, то значение будет не присоединено в качестве еще одного элемента, а слито воедино с текущим массивом.
$smarty->append(array(
title => $title,