При разработке того или иного интернет проекта очень часто бывает необходимо использовать шаблонизатор. Здесь я не буду рассматривать и делать обзор по шаблонизаторам а просто постараюсь раскрыть в общих чертах один из них. Имя нашего героя – Smarty. Лично я давно использую данную систему шаблонизации и очень доволен. Конечно, для новичков он будет немножко сложноват для начала, поэтому я рекомендую начать с более простой и понятной системы. Вообще, можно привести вот такое высказывание по поводу назначению и использованию шаблонов:
В РНР наиболее общим способом отделения логики представления от логики приложения является использование шаблонов. Шаблон (template) — это в общем случае HTML-документ, который содержит специальные маркеры и/или управляющие структуры. Фактически, РНР был изначально разработан как простой макроязык, функционирующий подобно механизму шаблонов.
Очень удобно отделять код php и код страницы. В шаблон вы вставляете только лишь определенные куски код, который должен впоследствии обработать обработчик и сгенерировать «на лету» html пагу.
Smarty — это необычайно мощная и сложная система шаблонов, доступная разра-
ботчикам РНР. Возможно, это наилучшее универсальное базовое решение из когда-
либо существующих, которое разделяет логику представления и логику приложения
без принесения в жертву удобства и практичности. Несмотря на то что она функцио-
нирует как полный сценарно-шаблонный язык, применение этой функциональности
не является обязательным. Мое представление о шаблонах состояло в том, что их назначение — избавить Web-дизайнера от путаницы в коде РНР. Мне казалось, что, несмотря на то, что Smarty может отделить РНР от HTML, это решение требует от Web-дизайнеров изучать полностью самостоятельный “сценарный” язык Smarty.
Пожалуй, более всего меня поразило то, что он быстр — быстрее любого другого механизма шаблонов РНР!
Как же механизм шаблонов Smarty делает это? Он использует уникальную (по
крайней мере, есть такая информация) концепцию — компилирует шаблоны в родной PHP-код. Таким образом, когда шаблон загружается в первый раз, Smarty сначала компилирует его в PHP-сценарий, который сохраняется, а затем выполняет этот код шаблона. Это делает шаблоны почти настолько же быстрыми, как и сам РНР, а также невероятно масштабируемыми. В довершение ко всему этот механизм построен таким образом, что его управляющие конструкции конвертируются непосредственно в РНР-код, представляя им всю мощь и гибкость их эквивалентов на РНР, избегая, любых сложностей.



9 Июнь 2008 в 14:45
Так всё же со Smarty сайт будет работать медленнее чем без него?
9 Июнь 2008 в 18:49
Дак смаря ведь как сделать. В каких то случаях быстрее в каких то медленее. Смарти не идеал, тут спорный вопрос и нужно подходить к нему при разработке кмс. Если сайт из 20 страничек(динамических), то разумеется нет смысла использовать смарти, а если например 5 000 то возможно стоит задуматься. Да вапще много же есть аналогий смарти, здесь я описал один из самых известных и тот который я использую в большинстве случаем. Лучше он или хуже подобия тут сугубо личный выбор каждого
22 Июль 2008 в 2:26
Интересно, а существуют ли визуальные редакторы для работы со смарти? Прикольно было бы - а то я тут столкнулся… И глаза побежали в разные стороны… Штука удобная и быстрая, но вот не каждому по зубах!
22 Июль 2008 в 22:06
Спасибо за информацию. Может, подскажете где еще почитать?
23 Июль 2008 в 15:24
Я тут впервые, но мне очень понравилось.
25 Июль 2008 в 15:10
Да, инет - он не маленький, если и такое можно найти
6 Август 2008 в 8:55
О! Интересно интересно
9 Август 2008 в 9:24
Хороший блог
Люблю почитывать каждую ночь (ну и в другое время тоже :)).
16 Август 2008 в 6:46
Премного благодарен! Буду теперь заходить на этот блог почаще!