The only way to write robust applications is to hand code. Most developers make use of class libraries which greatly reduce coding time. There are also development frameworks such a the Zend Framework which make building applications much simpler.
The main tool I use is Ultra edit which is simply a programmer's text editor with nice features such a syntax highlighting (color coded) to make reading code easier, search and replace etc. I also use BeyondCompare, a file comparison tool. I run WAMP as a local development server so I can test my applications before live testing. Then of course we get into graphics software such as Photoshop and Flash for building user interfaces and making it all look pretty.
The web is full of PHP tutorials, simply search "PHP tutorial".