Создаем динамические веб-сайты с помощью PHP, MySQL и JavaScript |
Страница 279 из 478 Цикл завершается закрывающим тегом {/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». |