Het sleutelwoord interface
Het sleutelwoord interface wordt gebruikt om interfaces te maken - speciale constructies die definiëren welke methoden een klasse moet implementeren. Interfaces bevatten alleen methodedefinities zonder hun implementatie. Een klasse die een interface implementeert, moet alle methoden bevatten die in de interface zijn gedefinieerd.
Syntaxis
interface InterfaceName {
public function method1();
public function method2($param);
// ...
}
Voorbeeld
Laten we een eenvoudige interface en een klasse die deze implementeert maken:
<?php
interface Logger {
public function log($message);
}
class FileLogger implements Logger {
public function log($message) {
echo "Loggen naar bestand: " . $message;
}
}
$logger = new FileLogger();
$logger->log("Testbericht");
?>
Resultaat van de code-uitvoering:
'Loggen naar bestand: Testbericht'
Voorbeeld
Een interface kan meerdere methoden bevatten, en een klasse moet ze allemaal implementeren:
<?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 "Oppervlakte: " . $circle->calculateArea();
?>
Resultaat van de code-uitvoering:
'Oppervlakte: 78.5'