Examples of Object Oriented design patterns in PHP