One of my favorite sites seems to have been neglected.. PHPPatterns.com, which was a great resource for learning how design patterns can be applied to the PHP/Web World. I'm going to try and define and teach as many of the design patterns in the Gang of Four book as I can and relate them to common PHP situations. When learning design patterns its difficult to really wrap your head around them unless you have a really clear example that you can relate to your world.
One of the best descriptions of design patterns I've seen is in a book I read called Design Patterns Explained which goes on to say that if two carpenters are designing a cabinet and they want to talk about how the shelves are going to be held together they don't say "I'm going to cut 45 degrees down, then straight, then 45 degrees back up, then straight, then again 45 degrees down etc..."
they say, how about we use a "dovetail joint" or a "miter joint". That right there made it click for me, because in software breaking things down into high level functions allows you fully wrap your head around your problem, and more importantly communicate your ideas to teammates in a way everyone understands.