Создаем динамические веб-сайты с помощью PHP, MySQL и JavaScript

Печать

Цикл завершается закрывающим тегом {/section}, который заставит его провести следующую итерацию в том случае, если еще остались строки для обработки. В противном случае будет отображен расположенный ниже код HTML.

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

А если посмотреть на все это с точки зрения программиста? Если все, что связано с разметкой, передается веб-дизайнеру, то уже не нужно беспокоиться за внешний вид выводимой информации. Остается только передать дизайнеру очень простой Smarty-шаблон, показывающий все передаваемые данные, и форму ввода данных, которую ваша программа примет от него. А увязать все это вместе в дизайн, способный завоевать всевозможные награды, — это уже его задача. Представьте себе свободу действий, позволяющую создавать быстрый и эффективный код, не задумываясь о том, как будет представлена выходная информация.

Теперь вы увидели, как можно внутри Smarty-шаблонов ссылаться на строковые и числовые переменные, а также на массивы. Если вы решите, что работа с шаблонами принесет пользу вашему проекту, то дополнительные возможности можно изучить по адресуhttp://www.smarty.net/crashcourse.php, а полную документацию получить по адресуhttp://www.smarty.net/manual/en/.

В следующей главе будет рассмотрен ряд практичных PHP-функций и технологий, необходимых для создания эффективных программ.

Проверьте ваши знания:вопросы

Вопрос 12.1

Назовите три преимущества от использования такой системы для работы шаблонами, как Smarty.

Вопрос 12.2

Как PHP-программа передает переменные шаблону Smarty? Вопрос 123

Как шаблоны Smarty получают доступ к переданным им переменным? Вопрос 12.4

Какой тег программирования Smarty используется для последовательного перебора элементов массива?

Вопрос 12.5

Как включить систему для работы с шаблонами Smarty в РНР-программу?

Ответы на эти вопросы можно найти в приложении А, в разделе «Ответы на вопросы главы 12».