Has the Perfect Free PHP IDE Arrived?
It may be Eclipse.
People who develop in languages like Java and C# have long had a wide range of powerful IDEs available to help them in their coding tasks.
For those of us who code in PHP, though, there hasn't been a really 'killer' IDE. There are some choices – Zend Studio and Komodo spring to mind – but these have always carried a non-trivial price tag, closing them off for those of us without big budgets for tools. So for me, at least, the choice has been to work in a plain old text editor: my usual choice is Kate.
The other day, though, I heard that there was a new version out ("Europa") of IBM's open-source IDE, Eclipse — and that PHP support in Eclipse had matured enough to finally be useful. So I downloaded it and gave it a spin.
Wow! When tricked out with the proper add-ons, Eclipse makes quite a nice environment to write PHP in. Eclipse's extensible architecture has led to a wide range of add-ons being developed — allowing you to easily snap together a single environment in which all your common tasks are performed (in other words, what IDEs were invented for).
What can you integrate?
- PHP Development Tools gives you a complete PHP editing environment, with syntax highlighting, code folding, autocompletion, and other goodies
- Subclipse adds Subversion support, letting you check code out of an SVN repository directly into a new Eclipse project, or commit your changes to a repo with a simple right-click
- Eclipse SQL Explorer provides a complete GUI interface to MySQL (and other DBMSes too), letting you browse tables, run queries, and generally forget about the MySQL console
Together, these add-ons turn Eclipse into a pretty slick package for handling all the tasks a LAMP developer is likely to deal with on a given day. (And there's others I haven't even tried yet, but which sound promising – like Mylyn, which lets you connect up Eclipse's internal task-tracker to external task repositories like the ones that come with Trac and Bugzilla.)
Oh, and all this is free, too. Which is certainly nice.
The only real downside I can see is that, unlike Komodo or Zend Studio, you have to do a little up-front work setting up your environment; by default, Eclipse is a Java IDE, so you have to add on the packages above to make it 'speak' PHP comfortably. But the process of adding features is straightforward (thanks to Eclipse's update manager, which lets you snap new tools into Eclipse just by pasting a URL into a textbox).
So, what do you PHP geeks out there think? Is Eclipse in position to become a major player in the PHP world?
July 5, 2007
Is the editting window still reduced to 1/4 your screen size because of all the palletes/toolbars crowded onto the screen?
I’ve tried Eclipse a number of times, and I still keep going back to jedit with the php_parser plugin.
July 5, 2007
The default setup does have a lot of crap taking up space on the screen, but you can turn all that off if you want.
Like you, I’ve been trying Eclipse on and off for several years, and I’ve never been satisfied with its maturity as a PHP tool until now. It’s come a long way. If you haven’t tried it in a while you should grab Europa and the add-ons I linked to and kick the tires a bit…
July 9, 2007
I couldn’t figure out how to work with an existing site and their “project” concept. In fact, it wouldn’t let me edit any file I opened, I’m guessing because it was in the classpath.
So there’s some bizarro vi-like modal behavior going on, and since it failed task 1 (open a file and change something), I think it needs some more polishing of the UI before I give up BBEdit.
July 9, 2007
“I couldn’t figure out how to work with an existing site and their “project” concept.”
I’ll have to double check when I get home but I think all you have to do is specify the root directory of your existing site when you create the new project for it. (By default Eclipse will try to create the project somewhere in your home directory, but it doesn’t have to be there.)
September 9, 2009
Check also new free PHP IDE – Codelobster PHP Edition with specail plug-ins for Drupal, Joomla, WordPress, Smarty and JQuery.