My PHP World
September 15th, 2007
Over the past month or so I’ve been experimenting with some different ideas, tools and frameworks, all with regard to being a PHP developer working on a Linux platform. From a free software standpoint, there aren’t a lot of decent PHP IDE’s out there that run on Linux — I’m admittedly more concerned about “free as in beer” applications.
Ignoring the big, for-profit applications like Zend Studio, Nusphere PhpED and ActiveState Komodo leaves just a handful of decent alternatives that provide an IDE-like feature-set — namely, a debugger and some other niceties like syntax highlighting, auto-completion, etc.
The biggest name in the list of these alternatives is the one that I found to be the worst, despite recomendations from a co-worker and general positive feedback from the internet at large: Eclipse PDT.
Eclipse was the most promising, and ultimately most disappointing IDE/Editor I tried to use. It often locked, becoming totally unresponsive, and it hogged memory, generally slowing my system down to a crawl. These are things that Java is notorious for, and apparently that hasn’t changed. For disclosure, the machine is an Intel Core 2 Duo 2.4ghz with 2 gigs of RAM, which should be plenty to handle any load, let alone the work of a sole IDE.
Also, I found the Eclipse plugin/package management system to be horrible. So strike one, two and three for Eclipse.
Instead, I came across Kate, an editor for the KDE environment written in C++. Adding the Protoeditor debugger plugin, I now use Kate as an IDE to write and debug all of my PHP applications.
The Protoeditor plugin supports three PHP debuggers: DBG, Xdebug and Gubed. I tried Gubed once before, but currently use DBG since it was easy to install and worked well from the start.
Kate supports window splitting, which is nice for me since my development environment consists of a twenty-four inch widescreen monitor; not having two documents up side by side is a waste of space, and I now don’t know how I got by without it.
Although you can install Kate without installing the full-blown KDE environment — I run Gnome as my desktop environment — you’ll need to install the entire suite of KDE development packages to get the full feature set from Kate, and to allow the Protoeditor plugin to install correctly.
Kate works well, but it is either missing some features, or the implementation of the features is clunky. Things like a tree view document browser. There is a file browser, but it’s a single level-up-down kind of thing. There is also a tree view plugin, but its implementation is somewhat buggy.
There is no “replace in all files” option, though you can use sed or awk directly from Kate.
Most recently I’ve been experimenting with Quanta, which is another KDE-based application. Quanta is a full-blown IDE with debugging capabilities built in by default; there is no support for DBG however, so I’m less likely to adopt it, or it will at least take a while to muster up the motivation to install and configure Xdebug. Another problem I noticed off the bat is that it doesn’t support window splitting, which as I mentioned above, would suck.
All in all, there is a configurable gold mine of stuff available for Kate and Quanta. And if you really want to get your hands dirty, you can write your own plugins in C++.
Man, C++. That takes me back.
