From Joomla! Documentation
My name is Paul C and if you want to get in touch with me, post on my talk page.
These are a list of pages to help with the development of Joomla Web applications such as components and templates.
Over the years i have been interested in Joomla in how to use and develop components and templates so i'm sharing my experiences and knowledge within these pages.
The target audience is beginners to intermediate level developers who want to learn how to create web applications and templates not just for joomla but what you learn will be easily transferable to other development environments.
Creating a Module - Portal
Setup your development environment
You can use bitnami's joomla stack which is a self contained complete package. More information here.
You can follow instructions here on how to install.
What is MAMP?
MAMP is complete package for a MAC. It is a stand alone working environment for the MAC that has all the required applications to run a local web server used for the development and debugging of web applications and templates. It has Apache, MySQL, PHP and Perl applications that have been developed by group called Apache Friends. There is also LAMP for Linux and WAMP for windows.
What is XAMPP?
XAMPP Is a stand alone working environment for the MAC hence the X, that has all the required applications to run a local web server used for the development and debugging of web applications and templates. It has Apache, MySQL, PHP and Perl applications that have been developed by group called Apache Friends. There is also LAMP for Linux and WAMP for windows.
What is the meaning of XAMPP?
X means cross platform for a number of operating systems.
Apache HTTP Server is the foundation of the web servers that run websites today which normally runs on a UNIX or Linux Operating System (OS) but has been adapted to run on other operating systems such as MAC and Windows.
MySQL Stands for My Structured Query Language which is a database system used to store information for later retrieval.
PHP stands for Personal Home Page it is a programming language.
For MAC Users
I recommend downloading and installing Bitnami's MAMP it can be dowloaded from bitnami website here
I also recommend using Google Chrome Canary as it is side-by-side install and does not use your personal user profile and you can setup your custom pages set that you can use exclusively for testing your website.
For windows and Linux users
Visit bitnami's website here to download a windows or linux version.
Template:Reflist XAMPP PHP
Instructions on how to install are here
Using Bitnami's manager
On a MAC goto /applications/joomla-3.4.3-1 click on manager-osx.app this will open up your controller and present you with this welcome screen.
Lets identify each tab:
- Welcome first is the welcome screen which you see whenever you start the manager.
- Manage Servers controls the Apache and MySQL applications to start, stop and restart.
- Server Events displays the log of what is happening with services.
Using Komodo IDE with Joomla
Debugging your code
Setup is basically the same for all systems for xdebug. You need the correct version for your setup, xdebug.dll for windows has many so make sure you have the correct one for your version of windows. xdebug.so for MAC should be in the same directory as the other .so files so PHP knows where to find it.
Ensure that the php.ini file is the correct one that is being used by your PHP app and that xdebug configuration is in your php.ini file and the port is the same one that your debugging app is listening to. If you make any changes to php.ini file you must restart Apache in order for the changes to take effect.
When you want to debug joomla you need to point to the index.php in the root of joomla. Have Apache and MySQL running on your system, you can check by going to your web browser and type localhost or localhost:8080 or whatever port your setup is set to.
Breakpoints are what your debugging app will look for in your code it will stop at that point allowing you to view the variables or setup watches for variables so that you can monitor the changes.