With the surge of popularity of PHP 5, object-oriented programming is now an important consideration for PHP developers. This version-neutral book is a gentle introduction to object-oriented programming (OOP) that won't overburden you with complex theory. It teaches you the essential basics of OOP that you'll need to know before moving onto a more advanced level, and includes a series of prepackaged scripts that you can incorporate into your existing sites with the minimum of effort. It shows how object-oriented programming can be used to create reusable and portable code by walking you through a series of simple projects. The projects feature the sorts of things developers run up against every day, and include a validator for filtering user input, a simple Date class that avoids the need to remember all the esoteric format codes in PHP, and an XML generator.
Of all the PHP books in my library, I use this one the most. Warning: do not attempt this book if you have no concept of object-oriented programming (OOP). I would try understanding chapters 1 & 2 of "The Object-Oriented Thought Process" (Weisfeld) or some other OOP for beginners book prior to tackling this one. However, this book is amazing if you have a preliminary grasp of OOP. Basically each chapter gives instructions on how to harness and customize a different built-in PHP class (for example, chpt3 the DateTime class for displaying/calculating dates, chpt6 the SimpleXMLElement class for creating/parsing XML documents, etcetera). As a bonus, chapter 7 offers an introduction to the SPL (Standard PHP Library), a collection of classes built into PHP for solving standard problems.
This was one of the two OOP books that helped me understand the shift PHP was going through from spaghetti code to OOP. Thanks to David for helping me get over the hump.
This book really helped me to grasp OOP in PHP when online tutorials weren't helping. Full of great examples and David has a knack to explain things simply yet powerfully.