Обработка файла
После того как файлы и переменные будут зарегистрированы в системе шаблонов, можно переходить к обработке зарегистрированных файлов и замене всех ссылок на переменные с соответствующими значениями.
Метод file_parser( ):
function file_parser($file_id) {
// Сколько переменных зарегистрировано для данного файла?
$varcount = count($this->variables[$file_id]);
$keys = array_keys($this->files) // Сколько файлов зарегистрировано?
// Если файл $file_id существует в массиве $this->files
// и с ним связаны зарегистрированные переменные
If ( (in_array($file_id. $keys)) && ($varcount > 0))
{ // Сбросить $x $x = 0 Пока остаются переменные для обработки...
while ($x < sizeof($this->variables[$file_id]))
{ // Получить имя очередной переменной $string = $this->variables[$file_id][$x];
// Получить значение переменной. Обратите внимание:
// для получения значения используется конструкция $$.
// Полученное значение подставляется в файл вместо
// указанного имени переменной.GLOBAL $$string:
// Построить точный текст замены вместе с ограничителями
$needle = $this->opening_escape.$string.$this->closing_escape;
// Выполнить замену.
$this->files[$file_id] = str_replace( $needle.$$string.$this->files[$file_id]); $x++;
}
}
}
Сначала проверяем, присутствует ли указанное имя файла в массиве $this->files. Если файл был зарегистрирован, мы также проверяем, были ли для него зарегистрированы переменные, и если были - значения этих переменных подставляются в содержимое $file_id.
Пример.
// Включить класс шаблона include("template. class") ;
$page_title = "Приветствуем Вас на нашей домашней страничке!";
$bg_color = "white"; $user_name = "Chef Jacques";
$template = new template; // Создать новый экземпляр класса
// Зарегистрировать файл "homepage.HTML",присвоив ему псевдоним "home"
$template->register_file( "home", "homepage.HTML");
// Зарегистрировать несолько переменных
$template->register_variables("home", "page_titie, bg_color, user_name");
$template->file_parser("home");
Поскольку переменные page_title, bg_color и user_name были зарегистрированы, значения каждой переменной (присвоенные в начале сценария) подставляются в страницу homepage.HTML, хранящуюся в массиве files (атрибуте объекта-шаблона). На этом предварительная подготовка завершается, остается лишь вывести полученный шаблон в браузере.
Дата добавления: 2015-04-15; просмотров: 666;