In his blog, Ian Kallen has posted some opinions on the current state of PHP application development and some ways that he'd define best practices to help it.
I'm confident that I or someone else could eventually derive a tool set that meets a rigorous standard for maintainable code. What concerns me are the prevalent practices and establishing best practices. I want to work with the someone else to establish them.
I've annoyed PHP enthusiasts, friends and colleagues alike, with my distaste for PHP. There's nothing intrinsically bad, buggy or poorly performing about PHP per se. It's real simple: a lot of PHP code that I've had to pick up the hood on is a mess and is susceptible to worlds of instability and bugs.
Among his suggestions are included things like "use clear APIs in classes" and "use frameworks to encourage separation of concerns". He also suggests a more wide use of unit testing in PHP to help rid your apps of common issues...