Какие знания нужно иметь для разработки расширений Joomla!?
- прежде всего, вам будет необходимо ознакомиться с самой Joomla! CMS: администрирование, принцип взаимодействия с пользователем и т.д. (с этим вы, скорее всего, уже знакомы);
- язык PHP и знания OOP (object oriented programming) - даже если вы не знаете этой части или знаете не очень хорошо - не расстраивайтесь - при наличии определённого количества свободного времени и большом желании это реально выучить за месяц;
- работа с базами данных и язык запросов SQL, а точнее, его диалект MySQL или MySQLi;
- для оформления внешнего вида нам понадобиться HTML и CSS (сейчас популярны HTML5 и CSS3);
- для разработки клиентской функциональности - язык javascript (можно также подключить популярную библиотеку jQuery);
- базовые сведения о MVC (для тех, кто ещё не знает что это - поясняю: это шаблон(паттерн) программирования, когда мы логику разделяем на 3 основные части M(model) - модель данных (собственно, сами данные, к примеру, из базы данных), V(view) - представление (отображение на странице сайта), C(controller) - контроллер: обрабатывает запросы пользователя).
Программное обеспечение, необходимое для удобной, быстрой, качественной, профессиональной разработки:
Веб сервер - необходим для хостинга сайта на локальной машине:
- для ОС Windows рекомендую Denwer (как вариант - WAMP);
- для ОС Linux - LAMP.
IDE (integrated development environment) - интегрированная среда разработки (как вариант: NetBeans, Eclipse) - я работаю с NetBeans.
Пакет установки Joomla!.
FTP клиент - для загрузки файлов по протоколу ftp на реальный хостинг, рекомендую FileZilla (без этого можно спокойно обойтись, используя при необходимости имеющийся на хостинге стандартный файловый менеджер, но мне лично удобнее с отдельной программой).
Удачной разработки!