Review: 2 PHP tools rise above the rest
You'll find no shortage of heavyweight PHP IDEs, but few are uncluttered, focused, and smooth
Aptana Studio
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.
These problems were all solvable, but I think you need to be working on a bigger PHP project before the overhead of an IDE becomes worth it. The ability to search through all of the files and deploy quickly are more useful when you have a lot of files associated with a complex application.
A couple of the IDEs -- Zend Studio and PhpStorm -- seemed to bear this weight better than the others. Zend Studio, from the creators of PHP, is best for developers already familiar with Eclipse. PhpStorm, a simpler option, is a clean and polished tool that focuses on PHP.
The growth in this area promises to be in cloud deployment systems. There's a big explosion of cloud hosting tools that marry smart servers with load balancers and better instrumentation. More often than not, they lock out the developer and require all new code to be pushed to the server via Git or perhaps Subversion. Some of the most prominent examples are PHP Fog, Cloud Control, Orchestra, and Microsoft's Azure, although the list is growing longer and longer.
It would not be much trouble to add a Web-based editor to these services, and I can see that coming down the road. eXo's Cloud IDE lets you edit PHP files, although you can't really run them easily. You need to push stuff in and out with Git. The service also includes some nice hardwiring to the platform-as-a-service centers such as Heroku, Cloudbees, Cloud Foundry, and OpenShift, though the links aren't as simple as they could be.
For now, the IDEs promise to offer sophisticated development options for people who are creating big stacks of code. When you need to search through multiple files and track sophisticated data structures, the step-by-step debugging provided by an IDE becomes worth the effort to set up and maintain. But as the tools become more tightly integrated with the clouds, I'm looking forward to lighter-weight ways of wrangling the code.
This article, "Review: 2 PHP tools rise above the rest," originally appeared at InfoWorld.com. Follow the latest news in programming and PHP at InfoWorld.com. For the latest business technology news, follow InfoWorld.com on Twitter.
Copyright © 2012 IDG Communications, Inc.