Автор работы: Пользователь скрыл имя, 16 Ноября 2010 в 16:53, Не определен
Курсовая работа
Рисунок
1.5 – Различия в поддержке между открытыми
и закрытыми системами управления контентом
Современная
CMS система должна позволять, не прибегая
к дополнительному
Joomla (произносится джу́мла) — система управления содержимым, написанная на языке PHP, использующая в качестве хранилища базу данных MySQL. Является свободным программным обеспечением, распространяемым под лицензией GNU GPL. Название «Joomla» фонетически идентично слову «Jumla», которое в переводе с языка суахили означает «все вместе» или «единое целое», что отражает подход разработчиков и сообщества к развитию системы.
Joomla CMS включает в себя различные инструменты для изготовления веб-сайта. Важной особенностью системы является минимальный набор инструментов при начальной установке, который дополняется по мере необходимости. Это снижает загромождение административной панели ненужными элементами, а также снижает нагрузку на сервер и экономит место на хостинге.
Joomla CMS позволяет отображать интерфейс фронтальной и административной части на любом языке. Каталог расширений содержит множество языковых пакетов, которые устанавливаются штатными средствами администрирования. Доступны пакеты русского, украинского и ещё некоторых языков стран СНГ.
Система управления содержимым Joomla! является ответвлением широко известной CMS Mambo. Команда независимых разработчиков отделилась от проекта Mambo по причине несогласия в экономической политике. 16 сентября 2005 года в свет вышла первая версия Joomla, являющаяся по сути переименованной Mambo 4.5.2.3 и включающая в себя исправления найденных на тот момент ошибок и уязвимостей.
В
настоящее время актуальна
К лету 2009 года по числу ежедневных скачиваний Joomla обогнала Wordpress и заняла первое место со значительным отрывом от других подобных систем.
В 2006 году Joomla заняла первое место в категории Best Linux/Open Source Project на выставке UK LinuxWorld 2006.
Так же стоит отметить награды Joomla в популярном издании Packt Publishing:
2006 г. - признана лучшей бесплатной системой управления сайтами;
2007 г. - признана лучшей бесплатной CMS основанной на PHP;
2008 г. - разделила 2-е место с CMS Made Simple в номинации лучшая бесплатная CMS основанная на PHP.
Благодаря стандартному функционалу система подходит как для небольшого, так и для крупного корпоративного сайта или информационного проекта. При необходимости, расширить стандартный функционал системы можно с помощью более чем 3000 созданных расширений. Стандартные возможности системы:
Минимальные технические требования Joomla CMS к хостингу:
Что же касается места на диске, то для установки системы понадобится как минимум 50 Мб, но лучше использовать хостинг с местом от 100 Мб — все зависит от того, какая информация планируется к размещению на сайте.
Интерфейс прикладного программирования (англ. Application Programming Interface, API) — набор готовых классов, функций, структур и констант, предоставляемых системой для использования во внешних программных продуктах.
В Joomla 1.5 разработчиками реализован собственный API, работающий по принципу Model-View-Controller.
Model-View-Controller
(в дальнейшем - MVC) является схемой-паттерном
для создания гибких и легко
расширяемых приложений с
В компоненте, построенном с помощью технологии MVC, используются три основные части:
Модель (Model) - это часть компонента, которая оперирует данными приложения. В общем случае модель содержит методы добавления, удаления, и обновления информации. Таким образом, если программа сохраняет данные в файлы, а нужно сохранять их в БД, то для этого нужно изменить только модель, не трогая остальной код.
Вид (View) – это часть компонента, которая берет данные из модели и выводит их в пользовательский интерфейс. Для простых веб-приложений, Вид генерирует html-страницу, с входными данными. Т.е. вид берет данные из модели, и вносит их в шаблон, который в конечном итоге и видит пользователь. Вид не изменяет данные, он только отображает их из модели.
Контроллер
(Controller) - отвечает за действия пользователя.
По сути, действие пользователя - это запрос
страницы. Контроллер в зависимости от
запроса, вызывает модель, для управления
данными, и управляет переходом Модели
на Вид. Таким образом, контроллер не отображает
данные, а лишь вызывает модель, которая
изменяет данные, а затем передает модель
в вид, который отображается на экране.
Схема принципа работы технологии MVC представлена
на рисунке 1.6.
Рис.
1.6 – Принцип работы технологии Model-View-Controller
Такое разделение удобно для групповой работы над проектом, дисциплинирует и дает отличное качество получаемого кода.
MVC
позволяет избежать
В Joomla 1.5, технология MVC использует три класса: JModel , JView и JController .
В этой главе будут рассмотрены основные принципы проектирования и реализации компонентов для Joomla CMS версии 1.5 на примере разработки простого компонента “Hello”, использующего основные методы и функции внутреннего интерфейса программирования системы.
Каждый компонент Joomla, реализованный по технологии MVC, имеет структуру расположения файлов, представленную на рисунке 2.1.
Рис. 2.1
– Начальная структура компонента
Joomla 1.5
Директория «admin» содержит файлы по настройке и управлению компонента из административной панели Joomla CMS.
Директория «site» содержит файлы для лицевой части компонента, видимой посетителями сайта. Рассмотрим наиболее важные файлы этой директории:
Точка
входа (или точка отправления) для лицевой
части компонента. Является обязательным
исполнительным файлом.
Является основным управлением компонента, либо подключает дополнительные файлы, в зависимости от переданных внешних данных.
Обработчик полученных данных. После обработки передает данные для вывода на сайте.
Шаблон вывода полученных данных от обработчика.
Директория содержит модели, используемые компонентов в процессе работы.
Директория
содержит расширяющие контроллеры для
основного, либо набор необходимых компоненту
контроллеров.
Файловая структура директории «admin» в точности повторяет структуру лицевой части компонента, описанной выше. Необходимо учитывать, что директории «site» и «admin» не пересекаются в процессе работы компоненты. По большому счету, эти две директории можно рассматривать как два различных подкомпонента одного большого компонента.
Joomla CMS обрабатывает компонент в следующей последовательности:
Joomla всегда обрабатывает ссылку в корневом файле index.php для страниц лицевой части сайта или administrator/index.php для страниц административного интерфейса системы. Функция обработки URL загружает требуемый компонент, основанный на значении 'option' в URL (используется метод передачи данных GET) или переданных данных методом POST.
Для разрабатываемого компонента, URL будет выглядеть следующим образом:
index.php? option=com_hello&view=hello
Эта
ссылка запускает выполнение файла, являющего
точкой входа в компонент: components/com_hello/hello.
Ниже приведен листинг файла hello.php:
<?php
// Защита от прямого обращения к скрипту
defined( '_JEXEC' ) or die( 'Restricted access' );
// Подключение файла контроллера.
require_once(
JPATH_COMPONENT.DS.'
// Проверка на дополнительные контроллеры
if($controller = JRequest::getVar( 'controller' )) {
require_once( JPATH_COMPONENT.DS.'
}
// Создание класса контроллера компонента
Информация о работе Основы разработки компонентов для Joomla! CMS 1.5