I’ve recently started using PHP for OO development. On OSX, I have outgrown Coda and feel like Textmate takes more time to set up than to actually use. I’ve downloaded a few of the “real” IDEs, but I feel like they are overkill and I can’t find any way to ease myself into it and/or they are way too busy.
I’m looking for something that does code folding, validation, can colorize PHP/PDO/HTML in the same document, and hopefully do completion of my classes and methods that doesn’t require 6 months to be productive again.
Can anyone throw me a bone?
I personally use netbeans 6.9.1 and have been very happy with it. Here are my favorite features:
— functions, classes, comment blocks and other structures are automatically set up for code folding, but you can also highlight any block and make an arbitrary code fold.
— syntax highlighting is good
— full support for new php 5.3 features (namespaces etc.)
— the autocomplete works, but also stays out of the way when I don’t need it.
— refactoring works really well
— it has a lot of built in macros, plus you can create your own
— it does nice, fast code validation.
— completely supports xdebug through a local/remote web server.
— has built in symfony support
— tracks polymorphism well
— I program a lot of c/c++ and java as well, so its really nice to get familiar with just one IDE.
— it has seamless built in supprt for SVN/CVS and other SCMs. Things like renaming/deleting a file in the IDE play nice with your SCM. You can also commit, update, diff etc. in the ide. It also does live diff via colors on the left hand side.
— I really like the scm diff features.
— the learning curve isn’t too steep, I feel the IDE’s features/commands are pretty intuitive.
Overall I have been really happy with netbeans. I have used a lot of other IDE’s and none of them are bad, but they just lack certain features that I need. netbeans is not perfect either, but for me its the best IDE I have been able to find. The things I don’t really like about netbeans are:
— everything has to be a project, you can’t just work on some code without netbeans creating metadata. However, the location of the metadata storage is customizable, so it doesn’t interfere with your source file directory structure.
— profiling doesn’t really work unless you install some weird solaris stuff.
— it can’t mount an svn+ssh working copy, you have to pull it down locally. if you want to use the SCM features.
— it can be a little slow if you have a lot of large projects open at a time. You can close the projects so netbeans doesn’t scan the source code continuously, and that helps. Re-opening a project isn’t too slow or difficult either.
All in all, netbeans isn’t really breaking any new ground, vim, eclise, phpide and others all do similar things. I just feel like those things work better in netbeans and are easier to access.
hth