This week we'll be reviewing Zend's IDE + Debugger combination, which as the name suggests provide a complete development environment for PHP. While the IDE and Debugger are separate products, they really depend on each other so much, that we'll treat them as one complete product in this review.
The What's What The Zend IDE and Debugger combination provide a basic IDE functionality set, nothing fancy, it has the basics, including syntax highlighting, html autocompletion, auto-indentation, and a few other frills found in most modern text editors. Without the debugger itself the IDE is really just a sub-standard text editor with PHP bindings.
However, don't get me wrong, as I said earlier, there is more to the picture. Where the IDE does come through is in its integration with the Debugger. While the Zend IDE on its own is nothing more than a text editor, when you integrate it with the Zend Debugger, it becomes a valuable tool. Once integrated with the debugger the IDE then provides the ability to use debugging features such as setting watches and breakpoints in your PHP code, which is simply not possible with any other editor (yet).
Missing Features While the Zend IDE does support a basic feature set, it still misses some features that are very important in order for it to move from a good IDE to an excellent IDE. To start off with I'd personally like to see both CVS and FTP integration built-in with the IDE. The PHP Manual should be integrated with the IDE (ie, built-in quickref, when you have problems with a function or function-usage just hit ), its also missing other nice features such as custom macros, function auto-completion/syntax definitions, gui component viewing, gui page designer, etc.
Ease of use With some IDE's learning to use the IDE is a process within itself (case-in-point: emacs). Luckily that isn't the case with the Zend IDE. The interfaces to the Zend IDE are quite simple, and if you cant figure out something by looking at it (and fooling around a bit), then you can always look through the distributed documentation (however, because the ide is simple it doesn't have nearly the power of a more complex ide such as emacs or KDevelop).
Other IDE's? The Zend IDE is not the only option, currently there are quite a few editors out there that are available for free or at a low cost, here I'll give the skinny on how the Zend IDE compares with these other IDE's.
PHPEd The PHPEd, is a very nice (windows-only) IDE. It includes advanced debugging features, ftp integration, code completion, code templates and a built-in webserver for debugging. It still is a work in development however, and it did have a few unseemly crashes. Regardless, If you're soley developing on a windows platform this is the product that I'd use.
UltraEdit UltraEdit, http://www.ultraedit.com, is an advanced editor for the windows platform. Its pretty much the editor I'd use when developing with the windows platform. However, its not PHP specific (although with a little tweaking, it can be an excellent editor). It doesn't have the Zend IDE's ease of use or the integrated debugging features, but if you want a good editor for the windows platform, UltraEdit is it (the Zend IDE with Debugger is better for PHP coding, but for anything else, UltraEdit is excellent, its one of the only thing I miss about Windows).
Emacs Where do I start? Emacs is the ultimate editor (at the risk of starting a holy war), with some tweaking and a little bit of work it can be an impressive PHP development environment. However, the power that emacs provides also has a downside, learning to use emacs and work with it at a level that makes things easy is probably harder than learning PHP itself. So, if your happy using emacs, I don't suggest switching, but in general, emacs does not make a good PHP IDE, simply because the learning curve is so large.
Nedit Nedit, http://www.nedit.org, is an excellent X-based text editor for the Linux environment. It provides much of the power a program such as (although emacs is definetly better, in the authors humble opinion) emacs provides with an easy to use frontend.
Conclusion While the Zend IDE leaves much to be desired as far as its feature set is concerned, if you are looking for a cross-platform IDE, with debugging capabilities its currently the only way to go. Overall the IDE has much promise, and I hope that as time goes on, some of the features that I require get added so I can stop hacking my PHP scripts in emacs.