| PHP-шаблоны или, как помирить программиста с верстальщиком |
|
|
| Автор Westry | |
| 17.03.2008 г. | |
|
Современный Web-сайт - это продукт совместного труда дизайнера, программиста, верстальщика и контентщика (автора публикуемого на сайте материала). При разработке HTML протокола такое разделение труда не предполагалось. Другими словами, HTML позволяет формировать статические документы, изменение фрагментов которых со временем возможно только с привлечением верстальщика.
При необходимости динамического изменения фрагментов документа (например, совмещение на одной странице новостей с презентацией фирмы, владельца сайта) такое решение проблемы трудоемко. А для отображения результатов запроса поисковых серверов – это просто недопустимо. Как было показано Web-документ можно сгенерировать, используя PHP "на лету". Текст скрипта записывается непосредственно в текст web-страницы, а потом "вылавливается" оттуда Web-сервером, перенаправляется транслятору, а результаты работы возвращаются в web-страницу, которую сервер передает пользователю. Но в случае большой сложности проекта или когда над ним работают несколько специалистов (программист, дизайнер, контент-мастер) довольно сложно разобраться, где чей "фрагмент" кода. Другими словами, где заканчивается код РНР и начинается HTML. Одно из решений этой задачи: использование шаблонов для разделения кода мы здесь рассмотрим [1]. Как это работает В своей работе С. Шуманн переработал известный Perl пакет FastTemplate в соответствующий PHP класс. Методы assigne и parse этого класса позволяют определить значения переменных файла шаблона и сформировать Web-документ, соответственно. Схема генерации Web-документа приведена на следующем рисунке:
Помещение FastTemplate переменных в HTML шаблон HTML шаблон - это текстовый файл, который содержит HTML теги и переменные. Переменные могут состоять из алфавитно-цифровых символов и знака подчеркивания {(A-Я 0-9) _} - тех символов, которые может анализировать класс FastTemplate. Здесь важно понимать, что переменная "должна бросаться в глаза" верстальщику. Иначе он ее может удалить из шаблона. Создадим в папке templates три шаблона main.tpl, rows.tp и table.tpl: <!-- main.tpl --> Здесь =FieldRECORD=, =LastVar= и =ROW= - переменные файлов шаблонов. Определение переменных шаблонов и формирование HTML документа Поместим вне папки templates файл класса FastTemplate и скрипт index.php, который будет содержать следующий код: <? Во время выполнения приложения форма будет иметь следующий вид:
В окне браузера отображены данные поля Lastname таблицы Personnel. Она создавалась скриптом. CONNECT learndb Литература и ресурсы
P. S. Выражаю особую благодарность Литвиненко А. Ю. |
| « Пред. | След. » |
|---|




