52568.fb2 Курс "Язык программирования PHP" - читать онлайн бесплатно полную версию книги . Страница 99

Курс "Язык программирования PHP" - читать онлайн бесплатно полную версию книги . Страница 99

{* этот пример не будет работать,

поскольку не поставлены

пробелы вокруг операторов сравнения *}

{if $name=="Вася" || $name=="Петя"}

...

{/if}

Решение задачи с помощью шаблонов Smarty

Теперь, после знакомства с основными конструкциями Smarty, мы можем попытаться решить задачу отображения списка документов. Шаблон списка будет выглядеть следующим образом:

{* Smarty template index.tpl *}

{config_load file="task.conf" }

<html>

<head><title>{#pageTitle#}</title>

</head>

<body>

<ol>

{section name=art loop=$title}

<li><a href="{$fulltext[art]}">

{$title[art]}</a>

({$author[art]})

<br> <p> {$abstract[art]}

{/section}

</ol>

</body>

</html>

В файле конфигурации task.conf будем хранить название страницы и параметры для доступа к базе данных:

# глобальные переменные

pageTitle = "List of documents"

[Customer]

pageTitle = "Список статей"

[Database]

host=localhost

db=book

user=nina

pass=123

Скрипт (index.php), обрабатывающий написанный нами шаблон, может выглядеть таким образом:

Как вы, скорее всего, заметили, программа получилась еще более громоздкой, чем в первых двух случаях, когда использовалась простая замена значений и шаблоны FastTemplate. Действительно, механизм Smarty гораздо более сложен, чем тот же FastTemplate, но зато и более функционален.

Заключение

Итак, в этой лекции было рассказано о том, что такое шаблоны и как их можно использовать при программировании web-приложений на языке PHP. Мы рассмотрели три способа решения задачи отображения сложного списка документов: с помощью функции регулярной замены, с помощью класса шаблонов FastTemplate и с помощью языка шаблонов Smarty. При этом мы познакомились с основными свойствами, методами и функциями классов FastTemplate и Smarty.

Литература

Учебники к курсу

1. Савельева Н.В.

Основы программирования на PHP

Интернет-университет информационных технологий - ИНТУИТ.ру, 2005

2. Анисимов А.Е., Пупышев В.В.

Сборник заданий по основаниям программирования

БИНОМ. Лаборатория знаний, Интернет-университет информационных технологий - ИНТУИТ.ру, 2006

3. Непейвода Н.Н.

Стили и методы программирования