want to join us? register, it's easy | help

PHP IDE Roundup

Must Have IDE Features

These a some of the features that I think a good IDE should have.

Debugging

This is probably one of the most important features of any IDE. With an integrated debugger, you can set breakpoints which PHP will stop at during execution. When execution stops, you can inspect variables which are available at that point. This is the best way of solving bugs.

Project Manager

IDEs view the application that you are developing as a project, not just a set of files, and folders. This methodology allows the IDE to provide proper source control to the entire application, as well as provide code intelligence for the entire application.

Code Insight

Code insight is a term I use to describe an IDE that understands the underlying structure of the programming code.
With this understanding the IDE is able to provide services such as code completion, listing available classes, and indicating improper syntax during development.

Class and Method Views

This is a handy feature to have on any IDE. This view shows you all the classes that have been defined in the project, as well that any methods and variables they may contain. This provides an alternative way to navigate around the project, and make it easier to use classes, since you know all their methods.

Source control

This should be a mandatory feature of all IDEs. Source control enables you to maintain versions of you file over time. You can revert back to old versions if any new changes causes problems. Source control is essential when working in a team, and it can be just a good for an individual. The two popular source control systems are CVS and Subversion.

FTP support

This is not an essential feature, but most IDEs seem to support it now. With built in FTP you can easily publish you application onto your server.

That concludes the features I think a good PHP IDE should have. I have intensionally left out a few features such as embedded browser or code snippets since I believe that these aren't really essential features for an IDE.