Использование шаблонов системы Smarty

Задача
Необходимо разделить код и дизайн страниц. Дизайнеры смогут работать над файлами HTML, не касаясь программы PHP, а программисты смогут работать над PHP-кодом, не заботясь о дизайне.

Решение
Применяйте систему шаблонов. Одна из систем, с которой нетрудно работать, называется Smarty. В шаблоне Smarty строки в фигурных скобках заменяются новыми значениями:

Hello, {$name}
PHP-программа, создающая страницу, устанавливает переменные, а затем выводит шаблон, как показано ниже:
require 'Smarty.class.php';
$smarty = new Smarty;
$smarty->assign('name','Ruby');
$smarty->display('hello.tpl');

Обсуждение
Следующий шаблон предназначен для отображения строк, извлеченных из базы данных:


cheeses





{section name=id loop=$results}

{/section}
cheese country price
{$results[id]->cheese} {$results[id]->country} {$results[id]->price}




Далее показан соответствующий PHP-файл, который загружает информацию из базы данных, а затем показывает шаблон, хранящийся в файле food.tpl:

require 'Smarty.class.php';
mysql_connect('localhost','test','test');
mysql_select_db('test');
$r = mysql_query('SELECT * FROM cheese');
while ($ob = mysql_fetch_object($r)) {
$ob->price = sprintf('$%.02f',$ob->price);
$results[] = $ob;
}
$smarty = new Smarty;
$smarty->assign('results',$results);
$smarty->display('food.tpl');

После включения базового класса движка шаблонов (Smarty.class.php), результаты извлекаются из базы данных, форматируются, а затем помещаются в массив.


Для того чтобы сгенерировать шаблонную страницу, достаточно создать новый объект $smarty, сказать ему, чтобы он обратил внимание на переменную $results, а затем приказать объекту
$smarty показать шаблон.

Систему Smarty легко инсталлировать – достаточно скопировать новые файлы в ваш каталог include_path и создать новые каталоги. Полную инструкцию можно найти на http://smarty.php.net/manual/en/installing.smarty.basic.html. Работая с системой Smarty, соблюдайте дисциплину, это поможет сохранить основное назначение шаблонов – разделять логику и представление. Движок шаблонов имеет свой собственный язык сценариев, который можно использовать для получения значения переменных, выполнения циклов и реализации других простых алгоритмов. Постарайтесь свести его использование в своих шаблонах к минимуму, а всю логику программы поместить в PHP-файл.

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела PHP на эту тему:
Анализ файла протокола веб-сервера
Выделение информации на веб-странице
Извлечение содержимого URL с помощью метода POST
Извлечение ссылок из HTML-файла
Отладка обмена заголовками HTTP

Вернуться в раздел: PHP / 11. Автоматизация работы с Web