Richter web-программист: создание сайтов, написание интернет-магазинов, создание скриптов на PHP, MySQL, JavaScript. Системы управления сайтом, CMS.
English version

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

Система построения сайта SBS "Web-Pro"
SBS Web-Pro Средство для создания и удобного управления сайтом, имеющее расширенные по сравнению с CMS (Content Management System) характеристики. Более 5 лет успешного использования. Подробнее
Пишите!
Telegram
@richter_a

О языках шаблонизаторов

К списку статей

Шаблонные сайты сейчас довольно сильно распространены. Механизм шаблонов позволяет разделить работу дизайнера и программиста: программист создает движок, определяя некоторый формат данных, а дизайнер (верстальщик) создает согласно этому формату "шаблон". Несмотря на большую популярность шаблонов, они далеко не всегда так хороши, как может показаться на первый взгляд.

Шаблонизатор рождает новый язык, зачастую не менее сложный, чем язык, на котором сам он написан. Это означает, что настройщику (обычно это верстальщик, реже - конечный программист) придется изучать этот язык, разбираться в его синтаксисе. А ведь некоторые популярные средства шаблонизации имеют весьма мощную систему синтаксиса, в которой "за полчаса" не разберешься. Настройщик уже может знать основы серверного языка (PHP, ASP и т.п.), а значит легче будет использовать шаблоны на этом языке, нежели на искусственно созданном. Кроме того, серверных языков гораздо меньше, чем языков шаблонизаторов, получается легче освоить основы серверного языка. Синтаксис языка шаблонизатора часто не проще синтаксиса серверного языка.

Для программиста создание языка шаблонизатора влечет дополнительную работу: нужно создать язык, средства его обработки в шаблонах, средства контроля и реакции на ошибки. Серверу потребуется делать дополнительные преобразования HTML-кода шаблона, тогда как в случае серверного языка использовался бы прямой вывод значений переменных. Надо отметить одну особенность: создание по сути своего языка для программиста лакомый кусочек, но ведь это не аргумент к созданию такого языка.

Огромным минусом искусственного языка является его ограниченность по сравнению с "родным" серверным языком. Из него невозможно обратиться к функциям родного языка, получить значения переменных и т.п. Когда в шаблоне используется серверный язык, не составляет труда выполнить любые функции, получить любые значения из проекта.

Шаблон может упростить работу только верстальщику: проще изменить верстку под новый дизайн. В случае же, если нужно внести новые характеристики, к примеру, добавить новую страницу на сайт, придется прибегать к помощи программиста, который знаком с используемой системой шаблонов. И на этом этапе работа будет не только не упрощена, она будет сложнее, чем модернизация с использованием непосредственно серверного языка.

Тем не менее, прямое использование серверного языка в HTML-коде также решение неприемлемое. Компромиссом будет тщательное продумывание использования серверного языка непосредственно в HTML-коде. Это позволяет сохранить гибкость и не усложняет работу верстальщика.

И наконец, пара примеров. Первый фрагмент выполнен на шаблоне, второй - с использованием PHP-кода:

< tr>
< td>{AUTHOR}< /td>
< td>{MESSAGE}< /td>
< /tr>
< tr>
< td>'.$record->author.'< /td>
< td>'.$record->message.'< /td>
< /tr>
© 2007 Richter
Распространение только с разрешения автора
Рейтинг: 0.0. Голосов: 0
(0) Добавить комментарий

Наверх