Nøgleordet interface
Nøgleordet interface bruges til at oprette interfaces - specielle konstruktioner, der definerer hvilke metoder en klasse skal implementere. Interfaces indeholder kun deklarationer af metoder uden deres implementering. En klasse, der implementerer et interface, skal indeholde alle de metoder, der er deklareret i interfacet.
Syntaks
interface InterfaceName {
public function method1();
public function method2($param);
// ...
}
Eksempel
Lad os oprette et simpelt interface og en klasse, der implementerer det:
<?php
interface Logger {
public function log($message);
}
class FileLogger implements Logger {
public function log($message) {
echo "Logger til fil: " . $message;
}
}
$logger = new FileLogger();
$logger->log("Testbesked");
?>
Resultat af kodeudførelse:
'Logger til fil: Testbesked'
Eksempel
Et interface kan indeholde flere metoder, og klassen skal implementere dem alle:
<?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 "Areal: " . $circle->calculateArea();
?>
Resultat af kodeudførelse:
'Areal: 78.5'