Depends on your working style. I prefer a simple programmer’s text editor; I use Smultron at the moment. I was particularly fond of
SubEthaEdit which has a nice remote collaborative feature, but they’re not free any more and I’m cheap. I think TextMate is probably one of the most popular of these, though.
However for more complicated setups, there’s Eclipse, and there’s
Rapidweaver. I’ve set up Eclipse with php and svn a couple of times, but it’s just more than I ever use.