Простой нативный шаблонизатор
Описание...
class Tpl { private $dir; private $ext; public function __construct($dir, $ext) { $this->ext = $ext; } public function __call($name, $arguments) { switch ($action) { case 'get': return $this->$property; break; case 'set': $this->$property = $arguments[0]; break; default : return false; } } public function args($args) { } public function render($tpl, $data = null) { foreach($data as $key => $val) { $k = 'set' . $key; $this->$k($val); } } } else { } } }
Пример использования
require_once('classes/tpl.php'); $tpl = new Tpl('tpl', 'tpl.php'); // задаем папку где будут лежать наши шаблоны и их расширение // вариант 1 echo $tpl->render('test', $array); // вариант 2 $tpl->setTest('testus'); echo $tpl->render('test');
Шаблон
<?php echo '<h1>test template</h1>'; echo $this->getTest(); echo '<p>Names</p>'; foreach($this->getNames() as $name) { echo '<div>' . $name . '</div>'; } echo '<p>Dirs</p>'; foreach($this->getDirs() as $dir) { echo '<div>' . $dir . '</div>'; } echo '<h1>Debug</h1>';
class Tpl { private $dir; private $ext; public function __construct($dir, $ext) { $this->ext = $ext; } public function __call($name, $arguments) { switch ($action) { case 'get': return $this->$property; break; case 'set': $this->$property = $arguments[0]; break; default : return false; } } public function args($args) { } public function render($tpl, $data = null) { foreach($data as $key => $val) { $k = 'set' . $key; $this->$k($val); } } } else { } } }
Пример использования
require_once('classes/tpl.php'); $tpl = new Tpl('tpl', 'tpl.php'); // задаем папку где будут лежать наши шаблоны и их расширение // вариант 1 echo $tpl->render('test', $array); // вариант 2 $tpl->setTest('testus'); echo $tpl->render('test');
Шаблон
<?php echo '<h1>test template</h1>'; echo $this->getTest(); echo '<p>Names</p>'; foreach($this->getNames() as $name) { echo '<div>' . $name . '</div>'; } echo '<p>Dirs</p>'; foreach($this->getDirs() as $dir) { echo '<div>' . $dir . '</div>'; } echo '<h1>Debug</h1>';