Review: 2 PHP tools rise above the rest
You'll find no shortage of heavyweight PHP IDEs, but few are uncluttered, focused, and smoothFollow @peterwayner
The free version of the tool is a classic IDE with a file browsing panel, an editor, and a good debugging relationship with Apache and PHP. You create your project in the Web server's directory, then CodeLobster lets you edit and debug it. When you want to save your code, CodeLobster provides connections to the four major version control systems: SVN, Git, Mercurial, and Tortoise.
The most distinctive features of CodeLobster are the plug-ins that simplify working with the major PHP projects. The Drupal plug-in, for instance, bakes in knowledge of Drupal's code, so the IDE can complete method or variable names as you start typing them. The help section includes some basic documentation about Drupal's structure as well. There's also a wizard that will import Drupal and create new templates for modules.
CodeLobster does similar things for nine other leading projects. This is a smart focus because much of PHP coding is focused on extending these ecosystems through new plug-ins and modules. Many of the PHP coders aren't building their own projects from scratch, but creating something that will interact with the standard code base.
Zend Studio is not the only example of a repackaged version of Eclipse. Aptana Studio is also a bundle of plug-ins designed to make it easier to get going and, perhaps, prompt you to adopt the tools of the parent company, Appcelerator. Appcelerator spent a bit more time on the cosmetics, and Aptana Studio starts with a trendy dark grey look.
There are some PHP features included in Aptana Studio, but they're fairly basic. There's some code assist and formatting features similar to PDT, but the built-in server doesn't handle PHP files. There's no connection for debugging PHP.
Aptana seems focused mainly on creating a tool for Python and Rails developers. The menus offer much more extensive options for people using those languages. The PHP options are more like a bit of frosting -- in case the Python or Rails folks need to edit a PHP file. There's a PyDev perspective now and plenty of other commands for other languages, but PHP seems to be receding.
Picking a PHP tool
When I was working on this review, Stuart Herbert, a PHP developer, switched to Sublime Text, a more basic text editor, and wrote about the change, extolling the simplicity. In essence, he didn't need all of the extra features from an IDE. He was happier with a smart text editor than a full-fledged collection of tools under one roof.
I often felt the same way when struggling with these tools. While all of them are useful and worth the money to serious PHP developers, they're more than is needed for many basic PHP jobs. If you're writing a bit of glue logic between the database and a smart AJAX client, the extra features of an IDE aren't especially useful. You can often get by with just an editor and using print statements to debug variables.
Part of my problem was that I encountered a surprising amount of chaos. PHP is hardly new, yet I encountered a number of rough edges that really slowed down development. I often had to wade through several versions of the PHP server before I found one that would work with each tool. Only a few of the IDEs seemed to work out of the box. I began to wonder why the developers couldn't just compile PHP into the IDE itself, something they probably didn't want to do because they wanted to integrate with a running server. Many Java IDEs compile and start up servers all within the same process. I've had much better luck starting up Java and Python stacks than getting PHP off the ground.