Интерфейс прикладного программирования (англ. Application Programming Interface, API) — набор готовых классов, функций, структур и констант, предоставляемых системой для использования во внешних программных продуктах.
В Joomla 1.5 разработчиками реализован собственный API, работающий по принципу Model-View-Controller.
Model-View-Controller (в дальнейшем - MVC) является схемой-паттерном для создания гибких и легко расширяемых приложений с пользовательским интерфейсом. Эта схема была разработана создателями Smalltalk-80 ещё в 1980 г.
В компоненте, построенном с помощью технологии MVC, используются три основные части:
Модель (Model) - это часть компонента, которая оперирует данными приложения. В общем случае модель содержит методы добавления, удаления, и обновления информации. Таким образом, если программа сохраняет данные в файлы, а нужно сохранять их в БД, то для этого нужно изменить только модель, не трогая остальной код.
Вид (View) – это часть компонента, которая берет данные из модели и выводит их в пользовательский интерфейс. Для простых веб-приложений, Вид генерирует html-страницу, с входными данными. Т.е. вид берет данные из модели, и вносит их в шаблон, который в конечном итоге и видит пользователь. Вид не изменяет данные, он только отображает их из модели.
|
|
Контроллер (Controller) - отвечает за действия пользователя. По сути, действие пользователя - это запрос страницы. Контроллер в зависимости от запроса, вызывает модель, для управления данными, и управляет переходом Модели на Вид. Таким образом, контроллер не отображает данные, а лишь вызывает модель, которая изменяет данные, а затем передает модель в вид, который отображается на экране. Схема принципа работы технологии MVC представлена на рисунке 1.6.
Рис. 1.6 – Принцип работы технологии Model-View-Controller
Такое разделение удобно для групповой работы над проектом, дисциплинирует и дает отличное качество получаемого кода.
MVC позволяет избежать зависимости модели от интерфейса, появилась дополнительная возможность к повторному использованию кода без его изменения.
В Joomla 1.5, технология MVC использует три класса: JModel, JView и JController.
Глава II. Разработка компонента для Joomla 1.5
В этой главе будут рассмотрены основные принципы проектирования и реализации компонентов для Joomla CMS версии 1.5 на примере разработки простого компонента “Hello”, использующего основные методы и функции внутреннего интерфейса программирования системы.