После статьи Как написать свой фреймворк на php, один знакомый программист задал мне такой вопрос: а как работает шаблонизатор в Yii, а конкретно функция render("filename", $variables = array())?
Если углубиться в историю php (а он был написан как шаблонизатор в языке perl), то будет ясно, лучшего шаблонизатора, чем сам язык на нем не написать. Smarty и т.п. библиотеки, ограничены своим API. И работа с ними напоминает история про Active Record, которую я описал в предыдущей статье.
Итак, как можно написать простейший шаблонизатор, с тем же функционалом, что и в Yii.
Однажды, на страницах этого блога, уже была статья, про такой шаблонизатор. Однако, там был обзор готовой библиотеки. Сейчас, я расскажу подробнее о том, как оно работает.