Компонентная модель
Одна из сильных сторон Smarty – это возможность создавать свои плагины и расширения. Воспользуемся этой его возможностью в полной мере и попробуем реализовать на ее основе компонентную модель сайта. Далее
Общие классы
Безусловно, в каждом приложении есть набор классов, которые нужны всем, или большинству компонентов, например, класс для работы с базой. Как поступить в таком случае? И для этой проблемы в Smarty есть удачное решение. Впрочем, давайте по порядку. Далее
Функция «Компонент»
К текущему моменту Smarty ничего не знает о каких-либо компонентах, и нам нам надо научить его работать с ними. Для этого мы добавляем к синтаксису шаблонов новый тег – {component}. Чтобы Smarty научился обрабатывать этот тег – пишем простую функцию: Далее
Компонент
Настало время посмотреть, что же у нас представляет собой компонент. Компонент выполняет роль диспетчера, он будет обрабатывать действия, которые вы ему определите, вызывая те или иные методы разных классов. Далее
Обмен данными между компонентами
Немного остановлюсь на разделении компонентов на типы: prepare – эти компоненты ничего не выводят на экран, они только подготавливают данные для других компонентов или общего (главного) шаблона, и view – эти компоненты обязательно в результате своей работы что-то выводят на экран. Далее