XML/HTML шаблоны отделяют логику скрипта (обработку данных) от представления (отображения этих данных) в веб. Такое отделение имеет ряд преимуществ.
более удобное проектирование программы/скрипта
простота разделения задач между программистом и дазийнером
упрощение поддержки после разработки
простота создания веб скинов (видов)
Большинство шаблонных языков используют теги <? ?>
, <% %>
или <xxx:yyy></xxx:yyy>
чтобы определить, где и какое значение подставить в шаблон. Это упрощает разработку сайта, но никак не помогает разработчикам шаблонов.
TAL для описания логики использует XML атрибуты, не затрагивая синтакс и структуру XHTML. Это дает нам возможность предосмотра TAL шаблона в браузере (или в WYSIWYG редакторе) и не нарушает подсветку HTML синтаксиса в редакторе программиста.
Если Вы уже использовали какие-либо системы шаблонов, то наверняка сталкивались с чем-то вроде этого:
<table>
<%loop myarray as myitem %>
<tr>
<td><% myitem %></td>
</tr>
<%/loop%>
</table>
В PHPTAL можно описать тоже самое проще и красивее:
<table>
<tr tal:repeat="myitem myarray">
<td tal:content="myitem">
Текст, который будет заменен значением myitem
</td>
<td tal:replace="">Пример 1</td>
<td tal:replace="">Пример 2</td>
<td tal:replace="">Пример 3</td>
</tr>
</table>
Такой шаблон будет корректно отображен в браузере с примерами "Пример 1", "Пример 2" и "Пример 3", поэтому можно продемонстрировать его клиенту даже на той стадии, когда код, необходимый для получения значений 'myarray', еще не существует.
Другое важное преимущество PHPTAL состоит в том, что Вы получаете доступ к помощи и более чем трехлетним опыту, документации и примерам сообщества Zope. Пользователи PHPTAL являются частью этого сообщества и автоматически получают от него исчерпывающую и полезную информацию
Главная сила PHPTAL в том, что для "продвинутых" программистов и ресурсоемких систем он настраиваемый настолько, насколько только это возможно, и в то же время очень прост и комфортнен для любыго новичка