Mac PHP editors -- the holy grail

30th October 2009 9:01:26 by Richard Bennett

How difficult is it to make a PHP editor for the Mac? Up to now I've suffered from what should really be a thriving market for good IDEs. The closest I've found to perfection, is Zend's ZDE 5.5, the standalone IDE they made before moving to Eclipse. And when I say perfection, I really mean productive enough that the tool doesn't get in the way of the work.

Everything I need that's missing from various IDEs can usually be worked around somehow, but workarounds are like sore thumbs, they distract your attention and reduce your productivity.

Every six months I download the latest version of the most popular IDEs or editors on the Mac, and try the following tasks:

  • Mount a project volume via FTP/SFTP and be able to easily see it in a hierarchical view and click to open each file. PHP's a web language, yet for some reason the ability to easily edit files on a server doesn't seem to be near the top of the requirements list for editor developers. Sure, I can use Finder's FTP mount, but that's a finder window that doesn't usually integrate with the editor. I could you MacFUSE, but its really slow, really unstable, and you still need to mount stuff using shell. Zend's ZDE 5.5 is the only one that supports FTP/SFTP to a usable degree. Don't even start me on ZDE 6 and Eclipse's braindead and unusable FTP support.
  • Delete a line. I'm amazed at the number of editors that don't support this out of the box. Delete a line. Seems pretty core editing functionality to me. And when it comes to defining macros to do it, most editors make you jump through multiple hoops in order to build even the most basic macro.
  • Duplicate a line. This is my second most used function aside from the basic arrows, enter, code completion and delete a line. Yet again, very few editors actually support this out of the box.
  • Integrated PHP manual. When code completion pops up, I want to see a tool tip of the complete PHPDoc from either my own code if its one of my functions, or from the PHP manual if its a PHP function. We all know how inconsistent and badly named PHP functions are, and its a pain in the arse keeping the PHP manual web site open, or even worse, accidentally clicking on w3schools.

I currently use Zend ZDE 5.5 for all my PHP work. For everything else I use BBEdit, which suffers the same problems as most editors for PHP work. In fact when I emailed BB a few years ago to suggest that they needed an integrated FTP browser in the project window, they said "that's not our domain, just use the Finder FTP support or a third party FTP client". A year later they brought their FTP out, but its still not integrated with the project window.

For what its worth, TextMate, Coda and Espresso all have niggling issues that make them less productive than ZDE for a professional developer. It would be nice to have XCode support PHP, because while it suffers from similar problems, I have at least already personalised the editor.

What I really want though, is ZDE 5.5, but upgraded. Zend are arguably in the best position to know what a PHP developer wants from an IDE, and as far as I'm concerned, ZDE pretty much nails it. But then they went and moved to Eclipse/PDT, and while they keep adding features, it just doesn't do the basics that well, like FTP/SFTP and fast keyboard response, both of which are pretty bad in Eclipse. Basically it looks like what it is, a PHP IDE embedded inside a generic IDE platform.

I actually emailed Zend and suggested they open source ZDE 5.5, but all I got back was a form letter email for an Eclipse ZDE 6 training course, not even personally addressed. Not a particularly good way to keep your PHP developers happy, and certainly now one of my main reasons for not even entertaining the idea of switching to ZDE 6.

Why can't someone write a good PHP editor?