PHP Design Patterns Decorator pattern Adapter pattern Template Method design pattern Strategy design pattern