Design Patterns examples in PHP