Sometimes it moves to fast.
If your PHP is rusty from extended non-use (like mine these days) or if you are still new to PHP, this book can lose you. In chapter 4 the author assumes you are current with the PEAR database classes and throws out an example with no explanation of the code. If this book aims to help you become an advanced PHP coder, then it fails because it assumes you already are one. In my opinion, the book moves to fast and skips over to much explanation to be a good book to learn by, and is obviously not a reference book. I'm sure Zandstra knows his subject, he just needs to sharpen his teaching skills. 4 Stars for knowledge, 1 star for explanation & teaching.
I have found religion
I bought this book because I wanted to get a quick start into PHP5 and I had heard of patterns and thought that I could mess around with patterns as I learned PHP5. In the following, note that web-development is just my hobby, not my job.
OMG... I have found religion. My previous attempt at coding up a large website was one that a friend and I coded up 7 years ago with PHP2/3 which was crushed under its own weight and we quickly reached a point that we could not progress any further without breaking something. What Matt does in this book is to bring together many different ways of approaching enterprise and other common PHP problems as far as how do you represent/create/organize data objects in your PHP program and how do you organize program and customer flow.
At first, I approached the "Practice" portion of the book as an afterthought, but have since learned that rigorous testing and test cases saves your behind as I have broken my code in unexpected ways multiple times which I would never have caught had I not followed the advice presented in this book. There are lots of other good hints on how to conduct the business of coding which will save you lots of time in this "Practice" section.
My only gripe with the book was that the learning curve was steep in the "Patterns" section as the examples were interwoven and built highly upon eachother. This required me to go through the book a couple times before I actually understood everything... But this may just be an artifact of my slow brain which has not had any real deep foray into any programming for about 5 years.
This book opened my eyes to a whole new world of programming. Thank You Matt!
gr8 book for php5 concepts
Its probably one of the best books for understanding php5 concepts. It describes each and every feature of php5 with appropriate examples and is quite easy to comprehend.
Little about quickly using design patterns in practice
The book gives an excellent introduction in object oriented programming (OOP), even when you want to learn OOP without using PHP. They first describe a clear problem and then show why and how OOP can be used to create a better solution.
(Note that I already had OOP Java knowledge before reading the book.)
The second part of the book focuses on Design Patterns, which I sometimes found not clearly explained; problems unclear and definitions not explained. The OOP part was clearer.
The last part focuses on external tools to ease php programming, like testing, documenting, automatic deploying etc.
A major problem about the book is that it focuses a lot on OOP and design patterns without simply showing how this can be directly applied on a webpage or website. The end of part II feels more like how to make a complete PHP Enterprise framework from scratch yourself, with a lot of details making it a bit hard to crasp. It will take a lot of (initial) effort if you want to apply the enterprise patterns described in this book. In a real project, you probably won't even make a complete framework like this yourself, but take an existing framework like CakePHP of Zend Framework, something where the book doesn't talk about....
Buy both of them!
This book does borrow heavily from the "Gang of Four" book as other reviewers have mentioned. But the latter is the definative book on Design Patterns.
I would recommend buying both books as they do complement each other quite well. The examples in "PHP 5 Objects, Patterns, and Practice" tended be be a bit obscure but were clear and practical.
I recommend this book.