-
Book Overview & Buying
-
Table Of Contents
Mastering PHP Design Patterns
By :
There are two types of Adapter pattern. I have a clear preference for Object Adapters over Class Adapters where possible; I will explain this in detail later.
The Adapter pattern allows an existing class to be used with an interface that it doesn't match. It is often used to allow existing classes to work with others without needing to alter their source code.
This can be quite useful in a polymorphic setting where you are using third-party libraries, each with their own interface.
Fundamentally, an Adapter helps two incompatible interfaces work together. Otherwise incompatible classes can be made to work together by converting the interface of one class into an interface expected by the clients.
In a Class Adapter, we use inheritance to create an adapter. A class (the adapter) can inherit another (the adaptee); using standard inheritance we are able to add additional functionality to the adaptee.
Let's suppose we have an ATM class, in our ATM.php file:
<?php ...