# Delphinum (09.03.2017 / 14:06)Понял.
AlkatraZ, да. Функция (не метод, методы у классов, а тут чистейшая процедурка, ибо минималистишно) template используется как при подключении корневого шаблона, так и в шаблонах для подключения других
Ну тогда имеет смысл отделить "мух от котлет", сейчас объясню, именно такой подход я применял в шаблонизаторе, что писал для mobiCMS
---
Лучше сделать 2 функции: одну template() как описано выше, для инициализации самого шаблона, с передачей в него всех переменных, а вторую например tplinclude() применять именно для инклюдов.
Поясню почему...
ob_start() является довольно ресурсоемкой функцией. И нет смысла ловить буферы в подключаемых шаблонах: они все равно инклюдятся в материнский, образуя с ним единое целое, включая пространство имен и наследуют все переменные. В tplinclude() мы аргументом передаем только путь к подключаемому файлу, а сама функция до безобразия проста:
tplinclude($path){
return include($path);
}