Вот реализовал такой небольшой класс:
Код:
<?php class Template { private $filename; // Имя файла шаблона private $variables; // Переменные private $buffer; // Буффер // Инициализация $filename - имя файла шаблона public function __construct($filename) { $this->filename = $filename; // Имя файла $this->variables = array(); // Переменные массив } // Добавляем переменные $key - имя переменной, $value - значение public function add_variable($key, $value) { $this->variables[$key] = $value; // Добавляем ассоциативный массив } // Выполняем отрисовку public function render() { $this->buffer = file_get_contents($this->filename); // Загружаем файл, и содержимое передаём переменной foreach($this->variables as $key => $value) { // Под циклом все переменные заменяем $this->buffer = str_replace($key, $value, $this->buffer); } // Возвращаем return $this->buffer; } // Сохраняем в файл public function render_cache($filename) { file_put_contents($filename, $this->render()); } } ?>
Пример:
Код:
$templ = new Template('main.template'); $templ->add_variable('%title%', 'Заголовок'); $templ->add_variable('%content%', 'Тут текст!'); echo $templ->render(); $templ->render_cache('test.cache');