Calling PHP Developers

My new favourite resource for development-related questions, StackOverflow.com, already provides a number of answers to this. However, I'm interested to hear from you, my small community of readers, what IDE you use for PHP development, and why you like it.

I'm looking for a good PHP IDE; I've tried Eclipse in the past, and whilst it goes like the clappers on my work machine, I've found it dog slow on my laptop. I also remember finding the PHP plug-in not being as good as the Java Development Tools in terms of re-factoring support. The syntax highlighting was top-notch, though :-p

I use Eclipse and Visual Studio at work for Java/J# and C# development, and they are both excellent for their languages. Visual Studio is a bit rubbish at Java/J#, but I've recently switched to Eclipse and I'm glad I did so. It's the gold standard for IDEs when it's in C# mode, particularly once you've got Resharper or similar installed, which adds some of the good stuff from Eclipse like quick and customisable code templates, file markers, more re-factorings, etc.

I'm looking for good Subversion support (but also the ability to move to Git/Mercurial relatively painlessly), syntax highlighting, and good re-factoring support. I'm not too keen to pay for the IDE; I've used Zend in the past and didn't like it at all, and my PHP work these days is mostly tinkering so it's not really worth the investment.

But most of all, I'd like to know what the professionals use in the field. I'd like to know what PHP's gold standard IDE is.

Comments

At work I use Zend Studio 6 which is based directly on Eclipse PDT and is much better than the original Zend Studio which was very slow and felt like it was going to fall apart at any moment. It performs much better under Linux than Windows but is still acceptable under both. Admittedly it is quite expensive so it's probably not worthwhile for casual use.

At home I use Eclipse PDT which is now backed by Zend and has recently become a lot more stable and feature-rich. If you download the All-in-one package from Zend you will get nearly all of the features of Zend Studio including refactoring support, Zend Debugger (requires a PHP extension on the server), code completion, JavaScript and CSS support and, with Subclipse, pretty good SVN support too. I assume it would be pretty easy to use Git as well with the appropriate plug-in.

I would say that this is definitely the best free option for PHP development out of all the options I have tried and now it is backed by Zend is likely to only get better. It has the added advantage of course that it integrates with the tools that you already use.

Interesting that they've gone the Eclipse route, at least. It makes sense though: I had heard (but had also forgotten) that the PDT package had gained support from Zend. This is a good thing, and it sounds like the package is starting to reach maturity. When I last looked at it (a couple of years ago now), it was still quite embryonic and was only just starting to split from phpEclipse. On the flip side, though, it means that the promise of Eclipse is really starting to be realised, and I'm happy to see that.

I've heard good things about Aptana too; it apparently includes a number of the popular (although only client-side?) frameworks such as jQuery. It too is based on Eclipse, and has a free version (and a "Cloud" version, whatever that means. *sigh*). I don't know if it includes server-side frameworks like CakePHP and Django, though it would be doubly sweet if it did.

Going completely OT, I'm quite impressed with some of the features of Django — almost impressed enough to try and learn Python... For example, the auto-generation of an admin interface based on your "business objects" (for want of a better phrase) looks really quite interesting, and very clever. I'm also quite keen to try out the new ASP.NET MVC framework. Maybe I should find myself a small web-based application and run a "race" of each framework against the others :-) It might make an interesting project (and blog post or series)!

-- Alastair

If I were to suggest a framework to learn it would definitely be Django or Zend Framework and if I were to suggest a server-side language it would definitely be Python. I would be very interested in reading a blog series comparing different frameworks though.

Damnit, I always stick a "g" on the end of Python...

Anyway, I'm intrigued what your reasons are for recommending Django and Python, admittedly mainly because I had you down as a hardened PHP dev :-) I know there are some good things that can be done with Python because it's a dynamic language, but isn't it less mature than PHP? Maybe that is, in a sense, to its credit.

There's a lot of buzz in the .NET community around ASP.NET MVC and a couple of other projects MS are working on in this arena. They too have started bundling jQuery, and have provided a Visual Studio Intellisense file for the jQuery framework. Works well with VS2008 (and the upcoming VS2010), but there's no support in VS2005.

I'll see if I can come up with a project that balances not-too-complex vs "real world problem" and get cracking on a series of posts. I might include Ruby on Rails, too, as I've been intrigued by the language for a while now (although it's always looked impenetrable on a scale only seen previously in Perl...).

-- Alastair

It's true that I do use PHP all day every day and I have been using it longer than any other language but that's probably why I can see its flaws. Its not that there's anything particularly wrong with it but I feel that it struggles to keep up with more modern trends. It is very much geared towards procedural spaghetti code. Of course, as I have argued before, this is as much to do with the developer as it is the language. Enough PHP-bashing; here are my reasons for learning Python.

  • It has a consistent and well thought out library structure
  • It forces neat code presentation through indentation instead of brackets
  • It scales better than PHP performance-wise
  • It's multipurpose, just as much at home as a shell script replacement as in a web page
  • It's properly OO including all the libraries

There are many other reasons too. I suggest Django as it is the best and most popular Python framework and is like Rails done right.

I would not recommend Rails beyond prototyping and simple sites. It is like the VisualBasic of web frameworks in my opinion and slow too.

"This is a great post. Thank you for putting this post out there for all of us.

Thanks!"

Add new comment