Design Pattern: Command Pattern in PHP

Command pattern encapsulates a full request in an object. So, the object can be passed as a parameter or can be queued or saved in log. Later the object can be revived and we get the full request, which can be executed and/or undoned at any point in time. This article demonstrates Command pattern implementations in PHP.

Design Pattern: Chain of Responsibility Pattern in PHP

Chain of Responsibility pattern gives responsibility of a process handling to more than one object(a chain of objects) so that the sender and receiver of the request remains decoupled. The chain of objects pushes the processing to the next step until the processing is complete. This article demonstrates Chain of Responsibility pattern implementations in PHP.

Design Pattern: Proxy Pattern in PHP

Proxy pattern is used provide a placeholder or surrogate for an original object. Operation performed the proxy, calls operation(s) from the original object. This proxy object existing between the client and the original object to provide security and/or access control and/or additional functionality. This article demonstrates Proxy pattern implementations in PHP.

Design Pattern: Flyweight Pattern in PHP

Flyweight pattern shares basic object resources to generate a large number of objects efficiently. Flyweight pattern is used to reduce memory footprint. This article demonstrates Flyweight pattern implementations in PHP.

Design Pattern: Facade Pattern in PHP

Facade introduces a new interface for the client to interface with the underlying complex subsystem classes. This is a high-level interface that hides the subsystems from the clients. Facade uses the objects and method from the already existing class(subsystem) objects. It is the responsibility of the facade, to provide the desired functionality to the client, with simplicity. This article is about the Facade pattern implementation in PHP.

Design Pattern: Decorator Pattern in PHP

Decorator pattern dynamically attaches additional responsibility to an object. This pattern is used to extend functionality without affecting the existing implementation. If we just use inheritance, then we can extend the functionality of a class. But by using a decorator we can enhance/extend and/or change the functionality of an object at run time. This article demonstrates Decorator pattern implementation in PHP.

Design Pattern: Composite Pattern in PHP

Composite pattern represents the hierarchy of a group of objects in a tree structure. The client can treat a single object and list/group of objects the same way, so it becomes easy for the client. This article describes Composite pattern implementation in PHP.

Design Pattern: Bridge Pattern in PHP

Bridge Pattern separates the abstraction from implementation, and creates a loose connection between those, so that they can work independently. This article is about Bridge pattern implementation in PHP.

Design Pattern: Adapter Pattern in PHP

Adapter pattern is used to convert the interface of a class to another interface, so that the existing class can be adapted to the desired new behavior. This way an existing class can adapt to a new functionality with any direct change to it. Sometimes we want to use some existing class(es), for some functionality, but the interface of the classes does not match with the new requirement. Adapter pattern is used in that case. This article is about Adapter pattern implementations in PHP.

Design Pattern: Prototype Pattern in PHP

Protype pattern defines a prototype instance for object creation, and then generates object by copying/cloning that prototype. The process is to fork an existing object, and then modify/change the properties. This article demonstrates Prototype pattern implementations in PHP.