Простой шаблонизатор (Рейтинг: -1)
высмотрел в DCMS 7 легонький шаблонизатор и немножко его изменил под себя:
использованние:
содержание test.tpl.php:
ЗЫ ООП еще только осваиваю)))
Добавил: KpuTuK
07.05.2013 / 23:26<?php define('BASE_DIR', $_SERVER["DOCUMENT_ROOT"]); /** * Класс шаблонизатора */ class template { /* * $tpl_dir папка шаблонов (по умолчанию /tpl/) * $tpl_ras расширение шаблонов (по умолчанию .php) * $tpl_cache кеш шаблона * $tpl_var_value массив со значениями и переменными которые мы будем передавать шаблону */ public $tpl_dir = '/tpl/'; public $tpl_ras = '.php'; protected $tpl_cache = null; protected $tpl_var_value = array(); /* * $name название переменной которой задаем значения(е) * $value значения(е) которые мы задаем переменной */ public function assign($name, $value = null) { if (is_array($name)) { foreach ($name as $key => $value) { $this->assign($key, $value); } return; } $this->tpl_var_value[$name] = $value; } /* * $tpl_name имя загружаемого шаблона */ public function display($tpl_name) { if (file_exists(BASE_DIR . $this->tpl_dir . $tpl_name . $this->tpl_ras)) { $this->tpl_cache = file_get_contents(BASE_DIR . $this->tpl_dir . $tpl_name . $this->tpl_ras); ob_start(); extract($this->tpl_var_value); eval('?>' . $this->tpl_cache); return ob_get_contents(); } else echo 'Шаблон '. $tpl_name .' не найден в '. $this->tpl_dir; } } ?>
использованние:
<?php $doc = new template(); $el = array(); $el[] = array('a' => 'тестовое значение 1'); $doc->assign('el', $el); $doc->assign('aa', 'тестовое значение 2'); $doc->display('test.tpl'); ?>
содержание test.tpl.php:
<? echo $aa; ?> <br /> <? foreach ($el AS $element) { echo $element['a']; } ?>
ЗЫ ООП еще только осваиваю)))
Рейтинг:
-1
Просмотры: 1610Комментарии (14) »