Skip to content

cmsx/Template

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Компонент Template

В качестве синтаксиса шаблонов используется нативный PHP.

Объект шаблона расширяет класс контейнера значений (CMSx\Container).

Для использования шаблонов предварительно необходимо указать полный путь к папке с шаблонами: Template::SetPath($path), после чего в шаблонах указывается относительный путь.

Пример использования

hello.php - файл шаблона:

<h1><?= $hello ?></h1>

Вызов шаблона:

$t = new \CMSx\Template('hello.php'); //Предполагается что путь к шаблонам указан ранее
$t->set('hello', 'World');
echo $t->render(); //Получим <h1>World</h1>

Для удобства использования шаблон реализует метод __toString, что позволяет сократить вызов из примера до echo $t;.

В шаблоне доступ к текущему объекту шаблона возможен через переменную $this. Таким образом, если в шаблоне нужна какая-либо логика, можно сделать класс-наследник шаблона, реализовать нужный метод и обращаться к нему из шаблона $this->myMethod(). Аналогично, вызов <?= $hello ?> можно заменить на <?= $this->get('hello') ?>

Ошибки в шаблонах

Если в процессе выполнения шаблона выбрасывается Exception, он перехватывается. Доступ к исключению можно получить с помощью getException().

При разработке полезно сразу видеть отладочную информацию, поэтому можно включить режим Template::EnableDebug($on), тогда при возникновении ошибки внутри шаблона, вместо содержимого шаблона будет выведена информация об ошибке.

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages