In PHP, an interface is defined with “Interface“ keyword followed by the name of interface.
An interface can not contain “constant variables” as well as “normal variables” ( properties ).
All the methods which are declared in an “interface” must be “public”.
Only “Declaration” of “methods” are done in an “interface“.
All the methods must be implemented within a class.
The class which implements methods of the interface must have same signature of methods.
we can not create object of the interface.
An interface is a ‘pure abstract class’.
One interface can extends another interface.
Example 1:
<?php /* interface A declaration */ interface A { public function Compute(); } /* interface B extends interface A */ interface B extends A{ /* member function declaration */ public function Divide(); } /* class C implements Class B */ class C implements B { /* function body */ public function Divide() { $var = 10; $var1 = 2; $var3 = $var/$var1; echo 'division of 10/2 is'.' ' . $var3.'<br>'; } /* function Body */ public function Compute() { $a = 2; $b = 3; $c = $a*$b; echo 'multiplication of 2*3 is'.' ' . $c; } } $obj = new C(); $obj->Divide(); $obj->Compute(); ?> ------------ ****** ------------ OUTPUT: division of 10/2 is 5. multiplication of 2*3 is 6.
Example 2:
<?php /* interface declaration */ interface A { /* Member function declaration */ public function setProperty($x); public function description(); } interface B extends A { } /* Class Mangoes implements interface A */ class Mangoes implements A{ /* Member function */ public function setProperty($x){ $this->x = $x; } /* Member function */ public function description(){ echo 'Describing' .' '. $this->x .' '.'tree'; } } $Mango = new Mangoes(); $Mango->setProperty('mango'); $Mango->description(); ?> ------------ ****** ------------ OUTPUT: Describing mango tree.