Простейший шаблонизатор

205
.
В общем суть такова.
На просторах инета смог найти простейший шаблонизатор(код) который позволяет привести шаблоны в боле менее читаемый вид(на нативном полная бяка получается если много кода)
Собственно сам код
define("PATH", "http://" . $_SERVER['HTTP_HOST'] . "/templater");
class Tpl_Class
{
//Определяем переменные
var $val = array();
var $Tpl;
// Функция загрузки шаблона
function tpl_get($tpl_name)
{
// Проверяем на существование переменной
if(empty($tpl_name) OR !file_exists($tpl_name))
{
// Если нет шаблона то выводим ошибку и останавливаем скрипт
die('Error template');
}
else
{
// Если ошибок нет то подключаем шаблон.
// file($tpl_name) пишем файл в массив
// implode объединяем массив в строку
$this->html = implode('', file($tpl_name));
}
}
// Функция установки переменных для шаблона
function set_value($key,$var)
{
$key = '{'.$key.'}';
$this->val[$key] = $var; 
}
// Функция которая заменяет во всё шаблоне наши переменные на значения
function tpl_parsing()
{
foreach($this->val as $find => $replace)
{
$this->html = str_replace($find, $replace, $this->html);
}
}
}

Все нормально работает,НО есть один нюанс,он не поддерживает циклы.
Например есть цикл который вносит записи в массив
$x=0;
while ($x++<10) {
$countd[] = $x; 
}

Так,вот,массив $countd нужно вывести в шаблоне тоже циклом.
Как это сделать?Применять на нативном не охота ибо хочется максимальной чистоты кода и в php и в шаблонах.
.
Попробуй в шаблоне использовать альтернативный вид конструкций ! http://www.php.su/learnphp/cs/?alt
Всего: 2