Нина Савельева - Курс "Язык программирования PHP"
{if выражение} блок_действий
{elseif выражение1} блок_действий1
{else} блок_действий2
{/if}
Действие оператора практически аналогично оператору if...elseif...else языка PHP. В выражениях могут использоваться следующие операторы сравнения: eq, ne, neq, gt, lt, lte, le, gte, ge, is even, is odd, is not even, is not odd, not, mod, div by, even by, odd by, ==, !=, >, <, <=, >=. Каждый из них обязательно должен быть отделен от окружающих его значений пробелами. В выражениях можно использовать круглые скобки и вызывать php-функции.
{if $name eq "Вася"}
Добро пожаловать, Вася.
{elseif $name eq "Петя"}
Добро пожаловать, Петя.
{else}
Добро пожаловать. А вы кто?
{/if}
{* этот пример не будет работать,
поскольку не поставлены
пробелы вокруг операторов сравнения *}
{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>
{$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. Непейвода Н.Н.
Стили и методы программирования
Интернет-университет информационных технологий - ИНТУИТ.ру, 2005
4. Сузи Р.А.
Язык программирования Python
БИНОМ. Лаборатория знаний, Интернет-университет информационных технологий - ИНТУИТ.ру, 2006
5. Терехов А.Н.
Технология программирования
БИНОМ. Лаборатория знаний, Интернет-университет информационных технологий - ИНТУИТ.ру, 2006
Список литературы
1. Справочное руководство по языку PHP
http://www.php.net/
2. История PHP
http://chukotken.boom.ru/php/2.html
3. Краткое руководство по языку HMTL
http://www.ict.nsc.ru/win/docs/html-gd/html-gd.dhtml
4. Федотов А. М.
Введение в интернет
http://www.ict.nsc.ru/win/fedotov/inter/index.html
5. GET и POST – чем отличаются, как использовать, вопросы безопасности
http://netadmin.ws/art/43.html
6. Храмцов П. Б.
Администрирование сети и сервисов Internet
7. Эйзенберг Э., Мелтон Д.
SQL:1999, ранее известный как SQL3
8. Справочное руководство по MySQL
http://www.mysql.ru/docs/man/index.html
9. C. Shifflett
Правда о сессиях
Перевод С. Бресь
10. Грималовский А.
Сессии в PHP providerZ.ru
11. Куликов А.
Сессии в PHP
http://www.koulikov.cc
Программное обеспечение
1. PHP || The PHP Group
http://www.php.net/index.html
Скрипт-язык для web-программирования.
Наиболее гибкий, удобный, простой и достаточно мощный язык, созданный специально для web-программистов, который интерпретируется и выполняется на сервере. Значительно облегчает написание динамических web-страниц.
2. Apache || Apache Software Foundation
http://www.apache.org/index.html
HTTP (WEB) сервер
Самый популярный web-сервер, именно на этом сервере работают большинство сайтов Интернета. Информация об установке: http://httpd.apache.org/docs/2.2/install.html
Лицензия: Apache License, Version 2.0, January 2004, http://www.apache.org/licenses/
Требования к системе (Windows): До 50Мб дискового пространства для установки, после установки примерно 10Мб.
Требования к системе (Linux): До 50Мб дискового пространства для установки, после установки примерно 10Мб.
3. Apache Ant || Apache Software Foundation
http://www.apache.org/index.html
Пакет Apache Ant это Java-основанное средство сборки.
Пакет Apache Ant это Java-основанное средство сборки. Теоретически, это разновидность make, но без складок make. Ant другой. Вместо модели, где он расширялся бы с помощью shell-основанных команд, Ant расширяется Java классами. Вместо написания команд оболочки, файлы конфигурации основаны на XML и вызываются из дерева целей, в котором различные задачи были запущены. Каждая задача запускается объектом, который включает особый интерфейс задачи.
Лицензия: Apache License, Version 2.0, January 2004, http://www.apache.org/licenses/