Chapter 1. Before you Start
This book guides you through creating Joomla!® 3 extensions, including plugins, modules, and components. You will end up with a fully functioning package of extensions that you either can use on your own site or share with others. It is assumed you will have some basic PHP, HTML, and CSS knowledge, but you don't need any prior Joomla! programming experience.
We will start out developing simple plugins and modules, and then progress to more complex backend and frontend component development. Then we will do a bit of white hat hacking, so you will learn about common security vulnerabilities and what you can do to avoid them. After that, we will look at how you can prepare your extensions for distribution and updates, as well as how you can extend your components with various plugins and modules.
In this chapter, you will learn the difference between a plugin, a module, and a component, as well as seeing the other extension types available. You will get some advice as to the tools you will need to develop extensions, and other things you should consider such as licensing and business models. We are also going to take a look at how you could upgrade a Joomla! 2.5 extension to make it Joomla! 3 compatible. You will learn the following things in this chapter:
The various types of Joomla! extensions
What's new in Joomla! 3
Why you should use GPL license
What business model you should adopt
Tools you need to develop Joomla! extensions
Joomla! coding standards
Why you should use Legacy MVC
How to upgrade a Joomla! 2.5 component to Joomla! 3
Good and bad ways to fork