Основы разработки компонентов для Joomla! CMS 1.5

Автор работы: Пользователь скрыл имя, 16 Ноября 2010 в 16:53, Не определен

Описание работы

Курсовая работа

Файлы: 1 файл

Курсовая работа Колмаков Р.А..doc

— 506.00 Кб (Скачать файл)

 

     

     Рисунок 1.5 – Различия в поддержке между открытыми и закрытыми системами управления контентом 

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

1.7. Система управления содержимым Joomla CMS

     Joomla (произносится джу́мла) — система управления содержимым, написанная на языке PHP, использующая в качестве хранилища базу данных MySQL. Является свободным программным обеспечением, распространяемым под лицензией GNU GPL. Название «Joomla» фонетически идентично слову «Jumla», которое в переводе с языка суахили означает «все вместе» или «единое целое», что отражает подход разработчиков и сообщества к развитию системы.

     Joomla CMS включает в себя различные инструменты для изготовления веб-сайта. Важной особенностью системы является минимальный набор инструментов при начальной установке, который дополняется по мере необходимости. Это снижает загромождение административной панели ненужными элементами, а также снижает нагрузку на сервер и экономит место на хостинге.

     Joomla CMS позволяет отображать интерфейс фронтальной и административной части на любом языке. Каталог расширений содержит множество языковых пакетов, которые устанавливаются штатными средствами администрирования. Доступны пакеты русского, украинского и ещё некоторых языков стран СНГ.

     1.7.1. История возникновения Joomla CMS

     Система управления содержимым Joomla! является ответвлением широко известной CMS Mambo. Команда независимых  разработчиков отделилась от проекта Mambo по причине несогласия в экономической  политике. 16 сентября 2005 года в свет вышла первая версия Joomla, являющаяся по сути переименованной Mambo 4.5.2.3 и включающая в себя исправления найденных на тот момент ошибок и уязвимостей.

     В настоящее время актуальна версия 1.5. В разработке находится версия 1.6. Версия 1.0 на сегодняшний день считается устаревшей, её официальная поддержка прекращена 1 июля 2009 года.

     К лету 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.

     1.7.2. Базовые (стандартные) возможности

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

    • Возможность создавать неограниченное количество страниц
    • Четкая организация структуры сайта
    • Для каждой динамической страницы можно создать свое описание и ключевые слова в целях повышения рейтинга в поисковых системах
    • Начало и окончание публикации любых материалов можно запрограммировать по календарю
    • Возможность ограничить доступ к определенным разделам сайта только для зарегистрированных пользователей
    • Секции новостей, продукции или услуг легко редактируемы и управляемы
    • Полностью настраиваемые схемы расположения элементов по 5 областям, что позволяет сделать оригинальный дизайн
    • Опросы и голосования для эффективной обратной связи
    • Различные компоненты - такие как последние новости, счетчик посещений, подробная статистика посещений, гостевая книга, форум и т.д.
    • Возможность создания не одной, а нескольких форм обратной связи для каждого контакта.
    • Генератор показа случайной новости.
    • Компонент приёма от удалённых авторов новостей, статей и ссылок.
    • Иерархия объектов - количество секций, разделов, подразделов и страниц, зависит от вашего желания.
    • Менеджер рассылки новостей.
    • Менеджер архива для старых материалов сайта
    • Возможность распечатать или отправить другу на e-mail любую статью с сайта.
    • Выбор из 3 визуальных редакторов, что упрощает редактирование материалов до уровня редактирования текста в программе Word.
    • Предварительный просмотр перед окончательным размещением.
    • Возможность легкой смены дизайна.
    • Экономное использование места на сервере за счет использование базы данных MYSQL.
    • Возможность использования адресов страниц адаптированных для лучшей индексации всеми поисковыми системами.

     1.7.3. Технические требования

     Минимальные технические требования Joomla CMS к  хостингу:

    • Apache-вepcии 1.13 (или выше, желательно 2.x);
    • РНР-версии 4.3.1 (или выше, желательно 5.x);
    • MySQL-версии 3.23 (или выше, желательно 5.x).

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

     1.7.4. Интерфейс прикладного программирования Joomla

     Интерфейс прикладного  программирования (англ. 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”, использующего основные методы и функции внутреннего интерфейса программирования системы.

2.1. Общая структура компонента

 

      Каждый  компонент Joomla, реализованный по технологии MVC, имеет структуру расположения файлов, представленную на рисунке 2.1.

Рис. 2.1 – Начальная структура компонента Joomla 1.5 

     Директория  «admin» содержит файлы по настройке и управлению компонента из административной панели Joomla CMS.

     Директория «site» содержит файлы для лицевой части компонента, видимой посетителями сайта. Рассмотрим наиболее важные файлы этой директории:

    • /site/{componentname}.php

Точка входа (или точка отправления) для лицевой части компонента. Является обязательным исполнительным файлом. 
 

    • /site/controller.php

Является  основным управлением компонента, либо подключает дополнительные файлы, в  зависимости от переданных внешних  данных.

    • /site/views/{viewname}/view.html.php

Обработчик  полученных данных. После обработки  передает данные для вывода на сайте.

    • /site/views/{viewname}/tmpl

Шаблон  вывода полученных данных от обработчика.

    • /site/models

Директория  содержит модели, используемые компонентов  в процессе работы.

    • /site/controllers

Директория содержит расширяющие контроллеры для основного, либо набор необходимых компоненту контроллеров. 

     Файловая  структура директории «admin» в точности повторяет структуру лицевой части компонента, описанной выше. Необходимо учитывать, что директории «site» и «admin» не пересекаются в процессе работы компоненты. По большому счету, эти две директории можно рассматривать как два различных подкомпонента одного большого компонента.

     Joomla CMS обрабатывает компонент в следующей последовательности:

  • Joomla интерпретирует полученные значения в URL.
  • Ищет составляющую таблицу компонента в базе данных.
  • Затем определяет директорию компонента.
  • В этой директории запускает исполнительный файл компонента. В данном случае – это файл hello.php.
  • Исполняет этот файл.

2.2. Создание точки входа компонента (файл hello.php)

     Joomla всегда обрабатывает ссылку в корневом файле index.php для страниц лицевой части сайта или administrator/index.php для страниц административного интерфейса системы. Функция обработки URL загружает требуемый компонент, основанный на значении 'option' в URL (используется метод передачи данных GET) или переданных данных методом POST.

     Для разрабатываемого компонента, URL будет выглядеть следующим образом:

     index.php? option=com_hello&view=hello

     Эта ссылка запускает выполнение файла, являющего точкой входа в компонент: components/com_hello/hello.php. 

Ниже  приведен листинг файла hello.php:

<?php

// Защита от прямого обращения к скрипту

defined( '_JEXEC' ) or die( 'Restricted access' );

// Подключение файла контроллера.

require_once( JPATH_COMPONENT.DS.'controller.php' );

// Проверка на дополнительные контроллеры

if($controller = JRequest::getVar( 'controller' )) {

    require_once( JPATH_COMPONENT.DS.'controllers'.DS.$controller.'.php' );

}

// Создание класса контроллера компонента

Информация о работе Основы разработки компонентов для Joomla! CMS 1.5