My two cents...
Classes are very useful for creating reusable components in an "application" (like database ops, file system ops, etc.)
However, the movement towards OOP programming in PHP is basically just a solution in search of a problem.
PHP is inherently procedural, and you can't really create "applications" in the proper sense... No matter how hard you try, whatever you create in PHP is just a script.
PHP will always process from one line to the next, on and on, until your script is complete or terminates in an error.
All of these OOP embellishments, and the frameworks they've spawned, while occasionally useful mostly only serve to overcomplicate something that, at it's core, is and should remain very straightforward and simple.
Even Rasmus Lerdorf, php's original creator, believes that OOP frameworks lead developers down the wrong path with php in that you're not developing for the specific task at hand. Add to that the fact that when you utilize a big, verbose OOP framework, you're adding a ton of unnecessary overhead to your code.
Again, a reusable-component approach to php is very valid and smart, but before you start going down the rabbit-hole with OOP-ifying your script, ask yourself whether you're making something more complicated than the task really requires.
JMHO.