Шаблоны в php - за и против

В настоящее время написано много шаблонизаторов. Многие php-программисты, думаю, слышали о SMARTY, FastTemplate и иже с ними. У каждого из шаблонизаторов свои особенности, но все они созданы для решения задачи “разделения контента и дизйна“.

Сущность шаблонизатора: дизайн “размещается” в отдельных файлах. В тексте файлов-шаблонов встречаются оформленные по определенным правилам последовательности символов, вместо которых должны подставляться данные. Некоторые “продвинутые” шаблонизаторы позволяют использовать циклы, условные конструкции и вставки кода на PHP.

Возникает вопрос, “А зачем?”. И, думаю, не безосновательно. Ведь PHP позволяет делать всё это. Парадокс? Авторы шаблонизаторов пытаются при помощи интерпретатора PHP создать свой интерпретатор, и считают, что это необходимо, хорошо, ну или просто… неплохо. Проделана огромная работа, потрачены часы, дни, месяцы.. Неужели, всё это зря!?

Попытаемся оправдать применение шаблонизатора.

1. Гораздо проще и понятнее писать {TITLE} нежели <?=$TITLE?> .
Для человека, который имеет представление о PHP, естественно, второй вариант вполне понятный. Если же человек только познакомился с HTML, то, ему “сложно” вместо двух фигурных скобочек ставить целых шесть символов. Не знаю, как объективно… Но по-моему, бред.

2. Используя возможности кеширования шаблонов, мы повышаем производительность.
Ну да. Сначала подгружаем модуль класса шаблонизатора, затем проверяем, есть ли уже кешированный обработанный файл шаблона, если есть, то подключаем и его. Если же нету, то к тому же читаем файл шаблона, обрабатываем его и сохраняем в каталоге с кэшами.
А <?=$var?>, например,  значит, выполнится гораздо медленнее?
Без шаблонов всё это можно утрамбовать в один файл. Чтобы сделать более понятным, можно разделить логику работы по файлам и подгружать при необходимости. При желании, часть данных условно-постоянных (например, дерево каталогов из базы данных) можем сохранять в файл. Кроме того, возможно реализовать (или использовать уже реализованную) систему кэширования сайта без использования PHP-шаблонов.

В итоге, хочу отметить, что использование шаблонов - это право лично каждого. И мнений может быть множество. Лично я считаю, что лучший шаблонизатор - это сам PHP. Однако, иметь представление, уметь использовать системы шаблонов на PHP как минимум, полезно… А уж делать или не делать (почти быть или не быть.) - решать каждому!

Метки: ,

Автор будет признателен, если Вы поделитесь ссылкой на статью, которая Вам помогла:
BB-код (для вставки на форум)

html-код (для вставки в ЖЖ, WP, blogger и на страницы сайта)

ссылка (для отправки по почте)

1 комментарий к записи “Шаблоны в php - за и против”

  1. Vendor сообщает :

    Сам отказался от использования шаблонов. Хотя довольно долгое время пытался как-то сам для себя оправдать их.

Добавить комментарий