Shortly before coming to php|works/web|works I picked up a PDF copy of php|architect’s Guide to PHP Design Patterns.
This book is 336 pages long, so isn’t a big heavy weight, but boy is it jam packed. This is the second (third?) in php|architect’s new nanoBooks series.
This book starts out with a general description of what Design Patterns are, then it goes into Unit Tests (using simpleTest) and basic UML.
If you don’t have experience with either, Jason quickly brings you up to speed with both of these things and its good thing too.
Throughout the book, Jason uses UML, code examples and unit tests to illustrate the Design Patterns in a very effective manner. Making it possible for even the most clueless programmer to pick up the ideas and start using them straight away.
This book covers everything from the Singleton Pattern all the way to MVC, the latter of which he goes into in great detail.
Jason explains every pattern well, using Test Driven Development to explain what the pattern is trying to achieve, and implementing it in stages. He makes sure to explain when and where you will want to use each pattern, and where you might already be using them without knowing.
He also describes how to implement the patterns for both PHP 4 and PHP 5 as far as possible.
I highly recommend this book as an introduction to Design Patterns in general, and especially to implementing and using them in PHP.
Update: This book is also available from Amazon