Чтение онлайн

на главную - закладки

Жанры

Курс "Язык программирования PHP"

Савельева Нина Владимировна

Шрифт:

Например, чтобы перевести значение переменной {$title} в верхний регистр, нужно применить к ней модификатор upper, т.е. написать следующее: {$title|upper}

Можно использовать сразу несколько модификаторов, отделяя их друг от друга прямой вертикальной чертой. Например, {$title|upper|truncate} переведет значение переменной в верхний регистр и урежет до 80 символов.

Перечислять все имеющиеся модификаторы мы не будем. Их список можно найти в документации Smarty. Скажем только, что с их помощью можно посчитать число символов, слов и параграфов, дописать строку, задать формат вывода

даты и времени, сделать регулярную замену и многое другое.

Конфигурационные файлы

Конфигурационные файлы используются для того, чтобы управлять глобальными переменными, используемыми в шаблоне, с помощью одного файла. Их идея очень похожа на таблицы стилей css. Конфигурационный файл содержит набор переменных и их значения. Перед именем переменной не ставится никаких дополнительных символов типа знака доллара. Значение переменной по желанию заключают в кавычки (двойные или одинарные), если оно состоит из нескольких строк, то его заключают в тройные кавычки.

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

pageTitle = "List of documents"

bodyBgColor = #000000

tableBgColor = #000000

rowBgColor = #00ff00

[Customer]

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

Intro = """Это значение состоит из

нескольких строк. Поэтому его нужно

заключить в тройные кавычки."""

# скрытая секция

[.Database]

host=localhost

db=book

user=nina

pass=123

Конфигурационный файл может состоять из нескольких разделов (секций), каждая из которых имеет имя и может загружаться отдельно от остальных секций. Имя секции заключается в квадратные скобки. Кроме секций в конфигурационном файле могут содержаться глобальные переменные - они не входят ни в одну секцию и всегда загружаются при загрузке конфигурационного файла. Если загружается какая-то одна секция, то загружаются ее переменные и глобальные переменные. Если переменная существует и как глобальная переменная, и как переменная секции, то используется переменная секции. Если вы одинаково назовете две переменные внутри одной секции, то будет использоваться последняя из них. В приведенном выше примере две секции - Customer и Database, а кроме них заданы глобальные переменные pageTitle, bodyBgColor, tableBgColor и rowBgColor.

Чтобы спрятать значение переменной или секцию целиком, нужно перед ее именем поставить точку. В таком случае при загрузке конфигурационного файла эти данные нельзя будет прочесть. В примере мы сделали скрытой секцию Database, чтобы нельзя было узнать пароль и имя пользователя, применяемые для установки соединения.

Комментарии в конфигурационном файле можно обозначать символом #.

Загрузка конфигурационных файлов производится с помощью встроенной функции или метода config_load, подробнее об этом мы расскажем в следующей главе.

Методы

Для работы

с шаблонами класс Smarty определяет набор методов. Рассмотрим несколько основных методов.

Метод assign

Синтаксис:

void assign (смешанное значение);

void assign (имя переменной,

смешанное значение);

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

<?php

// передаем пары имя/значение для

// переменной Name и

// Address в отдельности

$smarty->assign("Name","Вася");

$smarty->assign("Address",$addr);

// здесь $addr может быть и массивом

// передаем ассоциативный массив

$smarty->assign(array(

"city" => "Новосибирск",

"street" => "Пирогова"));

// таким образом, переменные city и street

// получат соответствующие значения

?>

Метод append

Синтаксис:

void append (смешанное значение);

void append (имя переменной,

смешанное значение);

void append (имя переменной,

смешанное значение, слияние);

Принцип действия этого примерно такой же, как и у assign. Метод append позволяет присоединить элемент к массиву. Если вы присоединяете значение к строковой переменной, то она преобразуется в массив, и значение добавляется уже в него. Так же, как и в assign, здесь можно передавать пары ключ/значение или ассоциативные массивы, содержащие эти пары. Если указать третий аргумент слияние равным TRUE, то значение будет не присоединено в качестве еще одного элемента, а слито воедино с текущим массивом.

$smarty->append(array(

title => $title,

author => $author))

Здесь если title была строкой, то она становится массивом и к нему добавляется еще один элемент со значением $title. То же самое происходит с переменной author.

Метод config_load

void config_load(имя файла, [имя секции]);

Метод загружает конфигурационный файл и встраивает его в шаблон. Аналогично этому методу действует функция config_load.

Поделиться:
Популярные книги

Тайна России

Назаров Михаил Викторович
Научно-образовательная:
история
политика
7.86
рейтинг книги
Тайна России

Встречи во мраке (Сборник)

Куин Эллери
Бестселлер
Детективы:
прочие детективы
7.00
рейтинг книги
Встречи во мраке (Сборник)

Огонь и дождь

Чемберлен Диана
Проза:
современная проза
7.75
рейтинг книги
Огонь и дождь

История Призрака

Батчер Джим
13. Досье Дрездена
Фантастика:
ужасы и мистика
детективная фантастика
8.67
рейтинг книги
История Призрака

Весь цикл «Десантник на престоле». Шесть книг

Ланцов Михаил Алексеевич
Десантник на престоле
Фантастика:
альтернативная история
8.38
рейтинг книги
Весь цикл «Десантник на престоле». Шесть книг

Дело «Пестрых». Черная моль

Адамов Аркадий Григорьевич
Мастера советского детектива
Детективы:
полицейские детективы
7.50
рейтинг книги
Дело «Пестрых». Черная моль

В глубине души

Кренц Джейн Энн
10. Тайное общество
Детективы:
дамский детективный роман
8.18
рейтинг книги
В глубине души

Кукла

Прус Болеслав
Проза:
классическая проза
8.87
рейтинг книги
Кукла

Наследники Фауста

Клещенко Елена Владимировна
Фантастика:
альтернативная история
5.00
рейтинг книги
Наследники Фауста

Лекарь Империи 2

Карелин Сергей Витальевич
2. Лекарь Империи
Фантастика:
городское фэнтези
аниме
дорама
фэнтези
попаданцы
5.80
рейтинг книги
Лекарь Империи 2

Энциклопедический словарь (Г-Д)

Брокгауз Ф. А.
4. Словарь Брокгауза и Ефрона
Справочная литература:
энциклопедии
5.00
рейтинг книги
Энциклопедический словарь (Г-Д)

Дорога Славы (сборник)

Хайнлайн Роберт Энсон
Фантастика:
социально-философская фантастика
научная фантастика
6.00
рейтинг книги
Дорога Славы (сборник)

"Фантастика 2024-186". Компиляция. Книги 1-25

Кретов Владимир Владимирович
Фантастика 2024. Компиляция
Фантастика:
фэнтези
боевая фантастика
попаданцы
5.00
рейтинг книги
Фантастика 2024-186. Компиляция. Книги 1-25

100 легенд рока. Живой звук в каждой фразе

Цалер Игорь
Документальная литература:
биографии и мемуары
7.50
рейтинг книги
100 легенд рока. Живой звук в каждой фразе