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
But while the tools are more capable than ever, they often felt overly complex and sometimes even rough around the edges. Some of them seem to be bopping along in a state of neglect. Given the prevalence and maturity of PHP, I was surprised by some of the difficulties I ran into. The good news is, whether you lean toward a heavyweight tool packed with features or a lighter-weight tool that brings some polish, there is an option here for you. Two IDEs, Zend Studio and PhpStorm, stand out from the crowd.
Zend Studio is one of the two major commercial packages built around plug-ins for the Eclipse platform. In theory, you can get many of Zend Studio's features for free with the open source PHP Development Toolkit (PDT), Eclipse plug-ins that are built in part with help from Zend. But I had no success with them. My version of Eclipse (3.7) wouldn't install the current PDT plug-ins because of a long list of conflicts. These could probably be eliminated with some judicious pruning of the code -- something that open source makes possible -- but I lost patience.
Zend's website offers a long checklist of the differences between the PDT plug-ins and Zend Studio, but many of the differences have little to do with PHP development directly. For instance, Zend Studio offers GIT and SVN support, but PDT doesn't. However, anyone using Eclipse can install other plug-ins with these features that work with all languages.
Two of the main features you get for $299 are stability and testing. I had little luck getting the PDT plug-ins to work with my current version of Eclipse or even with a clean version of Eclipse I tried from scratch. Zend Studio, on the other hand, started right up. Zend integrates the plug-ins and removes the roadblocks before distributing everything as one big ball of code. You can use the various tools in Zend Studio separately as plug-ins, but installing the bundle made more sense. In theory, these plug-ins should play nicely together. In practice, it's easier to pay someone to make sure it's true.
Despite all of this, there were still moments when I struggled. While Zend Studio said it could detect the Zend Server, I had to fiddle with several buttons until the application would deploy. There are a number of features for controlling the deployment, and configuration is not as simple as a push of one button. Deployment options include using the local server, deploying to a distant version of Zend Server, or connecting to phpcloud.com, and this flexibility comes with a price.
PhpStorm is the product of a company that also makes Java IDEs, in this case JetBrains, which may be better known for the highly regarded IntelliJ. JetBrains' PHP tool, however, doesn't come integrated with its Java tool, unlike many of the other IDEs described here. I suppose there might be some developers who are creating hybrid PHP/Java applications and might be disappointed by this, but I don't think there will be many. It's still possible to run both IntelliJ and PhpStorm on the same machine.