I've totally fallen in love with Eclipse's PHP mode. It is actually making it possible for me to develop large scale object-oriented applications by doing really pleasant things like keeping track of function names for me in an outline - and doing auto-complete on functions. This includes while working in classes - because you are setting it up to work across a whole project rather than just a file. 
Not only does it do functions and member functions in it's 'project outline' mode, it also shows you constants - which is quite useful, because they are supposed to be just that - constant. 
Eclipse also saves your state when you shut down. Meaning that if you need to reboot, you can quit Eclipse, save your files and come back to them safe in the knowledge that they'll all be where you expected them to be. This is highly pleasant behaviour, and having spent a year or so using text editors with windows splattered across my screen, that kind of pleasant is extremely welcome. 
It also lets you keep track of a to-do list just by putting the word TODO at the start of a one-line comment. This means that if you are hacking away and real-life intervenes, you just jot down what you need to do next by putting in a line like this: 
// TODO Load in XML file and read settings

And then Eclipse, upon the next save of your file, will pick it up and add it to your Tasks view. Of course, for it to be useful, you need to actually enter useful information - "TODO Fix all this bolloxed up code so it works" is not quite as useful as something which describes what actually needs to be done.

It also has the language reference built-in, although this would be quite a lot more useful if it were searchable (most of the time I know the function or class I want to call by name, and I just want to see what I need to do. But this certainly is nice - it means that I have to spend less time in my browser (or worse, walking to my bookshelf to retrieve a programming book). 
Eclipse is easily extendable. I've got mine set up to work with PHP, OWL, Java, C and C++. There is also some support for Python, Ruby and Perl (among others). Oxygen is also available as a plugin. The thought of being able to do all my projects in one interface is definitely appealing - especially since you can set-up separate TODO lists (I'm hoping to do a MSc in CS next year, and so I'd set up one TODO for my university assignments and one for my Opiumfield code). 
Why am I getting ready to go in to development mode? Well, that's for later I'm afraid. 

