Slava Vishnyakov has an excellent (and long) post today to his site detailing some of his travels through his years of PHP development and some of the things he's learned along the way:
I was learning on my own, so I studied PHP from resources such as php.net. It’s a great resource when you consider abundance of the information, but it’s terrible, when you look at the quality of advise. I’ll start explaining how things evolved in my head in a hope that people will catch up where they are now to understand some things further. By no means this is a “definitive” guide to PHP. Just a few tricks that might help you save your precious time and nerves.
The post includes a lot of helpful hints covering things like the inevitable evolution of the codebase and the growing pains he worked though, the use of static methods, autoloading, bad variable naming, unit testing and MVC restructuring.