Design Patterns written in PHP