Need a solution? Call Us Now!
1800 880 841

PHP Development Tools - Keeping it Simple and Mostly Free

If you're just getting into PHP Development (or even if you've been doing it for a while), and you'd like a good set of development tools to make the job easier, this article will provide you with some straightforward answers. There are a lot of tools out there so you could spend a lot of time evaluating them and trying to determine which are best for you. I went through some of that over the past few years and I will give you my suggestions.

If you're just getting into PHP Development (or even if you've been doing it for a while), and you'd like a good set of development tools to make the job easier, this article will provide you with some straightforward answers. There are a lot of tools out there so you could spend a lot of time evaluating them and trying to determine which are best for you. I went through some of that over the past few years and I will give you my suggestions.

Are my solutions right for you? Here are the criteria that I used:

  • I was primarily looking for free open-source tools;
  • They had to be easy to install and to use. I wanted a very minimal learning curve;
  • They had to provide good functionality without becoming complex to learn or to use;
  • They had to be reliable;
  • In some cases, you need a tool that is being actively developed so that it keeps up with the state of the art (but in other cases it isn't that important).

Here are the components of my tool kit and the specific tools that I use for each:

  • A Programmer's Editor: There are quite a few of these around and they normally provide text highlighting and some automation in addition to the normal load, edit text and save functions. I use a free program called Context. It allows for some customization, including text highlighting and function keys that you can use to call external functions.
  • Version Control It is really beneficial to keep versions of your code. My preferred tool for this is CS-RCS, another free tool. I like it because it is really simple to implement and to use. I did some basic integration with Context that makes it even easier to use. It tried a few other options (like Subversion) but I found them to be more complicated and harder to understand.
  • A Local Test Environment You will need a "LAMP stack" for testing on your local (Windows) machine. My experience in this regard is limited to Windows although I'm sure that there are solutions for other Operating Systems as well. LAMP stands for Linux, Apache, MySQL and PHP. This simulates the environment that you will be using on a Linux server. There are a number of free packages that could be used and all of them probably get the job done. I have been using EasyPHP and I'm happy with it. There is an active project (in France) that develops this system. They have materials in English so the language isn't a problem.
  • A (Virtual) Server Assuming that you want to go beyond playing with code locally, you will need a server. You can get a virtual server for a modest annual fee from any of the many hosting companies. I am happy with my hosting provider because they provide very reliable service and very responsive support. Not all hosting companies live up to the hype in their home page so it's important to choose carefully. You need a server that runs on Linux or one of the other similar operating systems that provide PHP and MySQL as standard facilities.
  • FTP Program - Server Sync, Upload and Download You need to be able to get your code from your local environment to the server (and sometimes to download it again). One free program that I use, BlazeFTP does that job quite adequately. It is very handy to have a program with a bit more intelligence that can compare one to the other and automate synchronization. Beyond Compare is such a program and I use it regularly. It isn't free but it is worth the relatively low cost.
  • Code Search When you are searching for includes for a specific module or uses of a specific variable it's handy to have a utility that can search all your code to find a defined term. Agent Ransack is a free utility that can do this.
  • Debugging Tool PHP will give you an error message if you break any syntax rules (if it is configured correctly) but if you are having logic problems you will need something more. There are some tools out there (and some of them are free) but I can't suggest one as I rolled my own. In PHP (unlike some Windows debuggers) you don't have the ability to stop, inspect variables and then continue executing. Thus, it becomes a matter of dumping information during execution. I leave all of my debug code in my programs and use an off / on command to activate or deactivate it. If I have a problem, I can turn it back on and try the situation in question. At this point I haven't released my debug facility but if you are interested, you can contact me.

With these tools and facilities, you're ready to start coding and testing and making the results available to the world. One of the big benefits of PHP is the large amount of (free) open source code and a large user community with many forums and blogs offering advice, tricks and tips. You can do a search on PHP and find an endless list. I have tended to use Hotscripts.com for downloading code but there are many others.

On my website, I have some additional details on this topic, including some information on integrating some of the tools for a slicker environment.

 
Want to know more?Call 1300 880 841 or click here to contact us.