Setting up your workstation for web development

From Joomla! Documentation

Revision as of 21:59, 2 May 2012 by Enav (Talk | contribs)

Documentation all together tranparent small.png
Under Construction

This article or section is in the process of an expansion or major restructuring. You are welcome to assist in its construction by editing it as well. If this article or section has not been edited in several days, please remove this template.
This article was last edited by Enav (talk| contribs) 3 years ago. (Purge)


This article provides detailed instructions for setting up your workstation as a PHP development environment, not only for Joomla! it also should work fine for PHP development in general.

Note There are many possible configurations for doing PHP development environments. Any environment that supports the basic AMP stack (Apache, MySql, PHP) and Subversion should work fine.

Choosing a code editor

The PHP language code represented just by plain text that can be edited with simple text editors like:

  • Geany (opensource cross platform text editor)
  • Gedit (opensource code editor for linux)
  • Notepad++ (opensource code editor for Windows)
  • Apple textEditor (Apple's basic text editor)

But when you are about to work in more advanced and complex projects and need some coding assistance there is a handful of development tools called IDEs (Integrated Development Environment) these are some of them:

  • Elcipse IDE (opensource cross platform IDE)
  • Netbeans IDE (opensource cross platform IDE)
  • UltraEdit IDE (closed source cross platform IDE)
  • Aptana IDE (opensource cross platform IDE)

All these advanced tools facilitate the development of PHP code, debugging, and the integration of other tools like SVN or GIT clients for source code version control under the same IDE, but for this article we are going to focus on how to configure Eclipse IDE for our PHP development environment, feel free to add more editors and document them in the following list.

Choosing a web server

To develop and test our PHP projects we need to execute the code in a web server capable of interpret PHP code and send the output to our browser, is good to know that we have a nice range of opensource tools to deploy a PHP webservers for our development environment such as:

  • XAMPP (Cross platform AMP stack implementation)
  • WAMP (AMP stack for Windows)
  • LAMP (AMP stack on Linux)

Also there is other commercial closed-source options such as:

  • IIS (Microsoft webserver, the PHP and MySQL services got to be installed manually)
  • others

All these options for web services can be used for the development of PHP projects, but for this article we are going to focus on how to configure a XAMPP server for our PHP development environment, feel free to add more web servers configuration and document them in the following list.

Choosing a Debugging tool

Debugging tools are quite useful when you are developing a PHP project and you want to study how your code behave step by step on each line execution of your code, also these debugging tools let you see in real time the values of variables and objects and set new values on the fly for testing purposes, you can also create expression to check the outcome without modify your code.

Old school and hardcore PHP programmers don't fraternize much with these kind of visual tools and they prefer to debug their code the old way using php:var_dump and other methods to display and analyze the output of the PHP code, is up to you what kind of tools you want to implement in your development workflow.

There is several alternatives for PHP debugging on the server side, some of these are:

  • Xdebug (opensource debugging service for PHP)
  • Zend Debugger (commercial debugging service for PHP)

All these alternatives could be used to debug the PHP projects on our development environment, but for this article we are going to focus on Xdebug,