Joomla Программирование

Joomla Программирование
Автор: Марк Декстер Луис Лэндри
Год: 2013
ISBN: 978-5-8459-1798-0
Страниц: 587
Язык: Русский
Формат: PDF
Размер: 24 Мб

Download

Овладев искусством программирования для Joomla!, вы сможете специально настраивать веб-сайты так, как того не позволяет сделать обычная настройка параметров, или устанавливать сторонние расширения. Это авторитетное и подробное руководство по программированию адресовано широкому кругу пользователей Joomla!: от начинающих, не имеющих никакого опыта работы с Joomla!, до опытных программистов, которым требуется быстро освоить последние версии Joomla!

+

Основы разработки в Joomla!

В этой главе было показано, что разработчик, пользующийся Joomla, должен, по мень­шей мере, быть знаком с веб-серверами, РНР, SQL, XHTML, XML, CSS и Javascript. Начи­нающим этого может показаться слишком много, но на самом деле Joomla существенно упрощает веб-разботку.

Кроме того, были рассмотрены различные виды разработок, которые можно выпол­нять в Joomla: замещения компоновок, подключаемые модули, компоненты и модули. В главе было также показано, каким образом реализуется локализация Joomla на разные языки мира и как это оказывает влияние на вывод текста в окне браузера. Затем были вкратце рассмотрены шаблоны, существенно изменяющие внешний вид веб-сайта, даже если на нем представлено одно и то же содержимое.

После этого были рассмотрены варианты выбора типа расширения для конкретного проекта. И в заключение были рассмотрены вопросы применения Joomla в качестве плат­формы для построения совершенно отдельных приложений вне сферы действия системы управления информационным наполнением веб-сайтов.

Подготовка рабочей станции к разработке в Joomla!

В этой главе рассмотрены вопросы подготовки рабочей станции к написанию про­грамм для Joomla. Сначала в ней обсуждались варианты установки программного обе­спечения веб-сервера на разных платформах, включая отдельные пакеты для различных операционных систем. Затем были вкратце описаны две IDE, наиболее распространенные для программирования на РНР: Eclipse и NetBeans, а также представлены примеры, пока­зывающие, насколько они позволяют повысить производительность труда разработчиков прикладных программ для Joomla.

Затем были вкратце рассмотрены разные варианты редакторов исходного текста для тех, кто не желает пользоваться IDE. И в конце главы было кратко описано программное обеспечение контроля версий (вроде Subversion и Mercurial), автоматического построе­ния проектов (типа Phing и Ant), а также автоматического тестирования.

Итак, рабочую станцию можно считать подготовленной и настроенной, и теперь мож­но приступать непосредственно к написанию прикладных программ для Joomla.

Принцип действия Joomla!

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

После этого был подробно проанализирован весь код, управляющий типичным цик­лом выполнения команд в Joomla. Попутно было показано, каким образом принятые в Joomla условные обозначения имен упрощают задачу разработчиков.

И в конце было показано, как находить глобальные объекты при написании кода, а также приведено краткое описание таблиц базы данных, входящей в стандартную уста­новку Joomla.

Расширение Joomla замещениями компоновки

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

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

Расширение Joomla модулями

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

При создании собственного модуля мы выгодно воспользовались многими средства­ми, доступными на платформе Joomla. И в конечном счете у нас получился модуль, орга­нично вписывающийся в остальную часть веб-сайта на Joomla.

Контроллеры и модели

В этой главе рассматривалось применение контроллеров и моделей по шаблону проек­тирования MVC на примере административной части компонента Weblinks. В ней также был рассмотрен класс JTable, помогающий организовать взаимодействие с базой данных.

А в следующей главе знакомство с шаблоном MVC будет продолжено рассмотрением представлений на том же самом примере административной части компонента Weblinks. Затем на примере пользовательской части компонента Weblinks будет показано, каким об­разом компоненты этой части веб-сайта организуются и действуют по шаблону MVC.

Представления, класс JForm и пользовательская часть

В этой главе было завершено рассмотрение базового компонента Weblinks. В начале главы были представлены классы представлений из административной части данного компонента. Попутно была рассмотрена компоновка экранной формы диспетчера веб­-ссылок и применение класса JForm в экранной форме редактирования веб-ссылок. Затем обсуждение перешло к пользовательской части данного компонента, чтобы сравнить ее сходства и отличия от административной части. После этого были подробно рассмотре­ны особенности построения и синтаксического анализа удобных для поиска URL. И в за­ключение главы было показано, каким образом формируются ленты новостей.

В двух последующих главах полученные знания и навыки можно будет применить на практике для создания собственного компонента.

Пример разработки административной части компонента

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

Пример разработки пользовательской части компонента

В этой главе рассмотрение примера компонента подписок было завершено разработ­кой его пользовательской части. Это было сделано по шаблону проектирования MVC и на основании знаний, приобретенных из подробного рассмотрения компонента Weblinks. А в завершение главы разработанный компонент подписок был дополнен новой функ­цией составления отчета о подписках. На примере этой функции было продемонстриро­вано, насколько просто шаблон MVC позволяет дополнять существующие компоненты новыми функциональными возможностями и видоизменять их.

Работа с базой данных

В этой главе были представлены основы работы с базами данных SQL, включая по­строение структуры таблиц базы данных и составление запросов SQL для обновления и доступа к информации, хранящейся в базе данных. Кроме того, в ней были рассмотрены особенности составления запросов в коде приложений Joomla, а также выборки и обра­ботки данных по этим запросам.

Применение JavaScript и MooTools в Joomla!

В этой главе были представлены язык программирования JavaScript и интегрирован­ная среда MooTools для разработки программ на этом языке, а также показано, каким образом они применяются при разработке веб-сайтов на Joomla. Далее были рассмотре­ны отдельные средства пользовательского интерфейса, которые могут быть реализованы имеющимися методами JavaScript. И в завершение этой главы был вкратце описан поря­док применения технологии AJAX в Joomla на примере программы установки.

JavaScript позволяет расширить возможности взаимодействия веб-сайтов на Joomla с пользователями и выгодно воспользоваться преимуществами технологии AJAX. Кроме того, JavaScript служит ключевым компонентом для разработки веб-служб, позволяющих веб-сайтам на Joomla предоставлять информацию другим программам, в том числе прило­жениям для мобильных устройств и веб-серверам. Именно по этим причинам ожидается, что в недалеком будущем приложения Joomla постепенно приобретут большее значение.

Применение платформы Joomla! в качестве среды для разработки приложений

В этой главе были представлены основы разработки приложений на платформе Joomla. Сначала было показано, каким образом устанавливается данная платформа и как приме­ры разработанных на ней программ выполняются из командной строки и в веб-браузере. Попутно была проанализирована работа этих программ, в том числе порядок загрузки в них требующихся классов из библиотеки.

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

Краткий курс РНР и ООП

В этом приложении дается краткий курс объектно-ориентированного программирования (ООП) вообще и на языке РНР в частности. Пройдя этот курс, вы по­лучите минимальные знания, которых требует программирование для Joomla!.

Методы из класса JHtml