PHP Interface

| | | | | | | | | | | | | | | | | | |
An interface allows users to create programs by defining public methods that a class must implement without affecting the intricacies and details of how specific methods are implemented. This is commonly referred to as the next level of abstraction. It resembles abstract methods, reminiscent of abstract classes. An interface is defined in the same way as a class is defined, but the class keyword is replaced with the interface keyword and only function prototypes. The interface contains no variable data. An interface is useful in the sense that it provides some sort of metadata support for all the methods the programmer wants to work on. Create an interface Below is an example of how to define an interface using the interface keyword. interface MyInterfaceName { public function methodA(); public function methodB(); }
?>
Several interface characteristics:
  • An interface consists of methods that have no implementation, which means that interface methods are abstract methods.
  • All methods in interfaces must have a common scope.
  • Interfaces are different from classes since a class can only inherit from one class, whereas a class can implement one or more interfaces.
To implement an interface, use the implementerstatement as follows: class MyClassName implements MyInterfaceName { p ublic function methodA() { // method A implementation } public function methodB() { // implementation of method B } }
?>
Specific class : class, which implements the interface is called a concrete class. It must implement all methods defined in the interface. Interfaces with the same name cannot be implemented due to an ambiguity error. Like any class, an interface can be extended using the extendsstatement as follows: interface MyInterfaceName1 { public function methodA();
} interface MyInterfaceName2 extends MyInterfaceName1 { public function methodB(); }
?>
Example : interface MyInterfaceName { public function method1(); public function method2();
} class MyClassName implements MyInterfaceName { public function method1() { echo "Method1 Called" . "" ; } public function method2() { echo "Method2 Called" . "" ; } } $obj = new MyClassName; $obj -> method1(); $obj -> method2();
?>
Exit:
Method1 Called Method2 Called
Benefits of the PHP interface
  • The interface allows unrelated classes to implement the same set of methods regardless of their position in the class inheritance hierarchy .
  • An interface can model multiple inheritance because a class can implement more than one interface, whereas it can only extend one class.
  • Implementing inheritance will save the caller from fully implementing the object’s methods and focus only on the object interface, so the caller’s interface remains the same.