Личный сайт Андрея Сабинина

Жалок тот, кто никогда не меняется. Но чтобы меняться — нужно кем-то быть.

 

Нативный шаблонизатор STemp — Вступление

Рано или поздно любой разработчик приходит к пониманию того, что делать запросы к базе, обработку и вывод в одном файле неудобно. А при работе над проектом нескольких человек — практически невозможно. Как следствие — использование концепции MVC и шаблонизатора, что стало стандартом при более-менее серьезном проекте. Да, использовать шаблонизатор необходимо. Вопрос в том, какой шаблонизатор использовать.

По моему скромному мнению, большинство шаблонизаторов, использующих псевдоязыки, обладают тремя большими недостатками. Во-первых, они негативно сказываются на быстродействии. Во-вторых, они не предоставляют необходимой (при сложной структуре страницы) гибкости. В-третьих, их синтаксис избыточен и излишен — я не вижу никакого смысла учить псевдоязыки.

Предлагаемое мной решение — нативный шаблонизатор STemp — использует в шаблонах синтаксис PHP, что делает его максимально быстрым и простым в освоении.

Может возникнуть вопрос — зачем вообще нужен нативный шаблонизатор, если можно просто определить переменную и приинклюдить html-файл, где она используется? Ведь в таком случае точно так будет использоваться синтаксис PHP. Есть три причины, по которым я считаю необходимым использование именно шаблонизатора. Во-первых, все переменные, переданные в шаблон, должны храниться в одном месте (свойстве класса шаблонизатора). Во-вторых, в шаблонизаторе не должно быть доступа к переменным, которые в него не переданы, и к функциям, которые в нем не определены. В-третьих, должен быть определен набор функций, необходимых для работы.

Именно на этих принципах базируется шаблонизатор STemp. Для получения более подробной информации, советую ознакомиться с разделами «Мануал» и «Примеры».