Nyckelordet interface
Nyckelordet interface används för att skapa gränssnitt - speciella konstruktioner som definierar vilka metoder en klass måste implementera. Gränssnitt innehåller endast deklarationer av metoder utan deras implementation. En klass som implementerar ett gränssnitt måste innehålla alla metoder som deklarerats i gränssnittet.
Syntax
interface InterfaceName {
public function method1();
public function method2($param);
// ...
}
Exempel
Låt oss skapa ett enkelt gränssnitt och en klass som implementerar det:
<?php
interface Logger {
public function log($message);
}
class FileLogger implements Logger {
public function log($message) {
echo "Loggar till fil: " . $message;
}
}
$logger = new FileLogger();
$logger->log("Testmeddelande");
?>
Resultat av kodkörning:
'Loggar till fil: Testmeddelande'
Exempel
Ett gränssnitt kan innehålla flera metoder, och klassen måste implementera alla:
<?php
interface Shape {
public function calculateArea();
public function calculatePerimeter();
}
class Circle implements Shape {
private $radius;
public function __construct($radius) {
$this->radius = $radius;
}
public function calculateArea() {
return 3.14 * $this->radius * $this->radius;
}
public function calculatePerimeter() {
return 2 * 3.14 * $this->radius;
}
}
$circle = new Circle(5);
echo "Area: " . $circle->calculateArea();
?>
Resultat av kodkörning:
'Area: 78.5'