Das Schlüsselwort interface
Das Schlüsselwort interface wird verwendet, um Schnittstellen zu erstellen - spezielle Konstrukte, die festlegen, welche Methoden eine Klasse implementieren muss. Schnittstellen enthalten nur Methodendeklarationen ohne deren Implementierung. Eine Klasse, die eine Schnittstelle implementiert, muss alle in der Schnittstelle deklarierten Methoden enthalten.
Syntax
interface InterfaceName {
public function method1();
public function method2($param);
// ...
}
Beispiel
Erstellen wir eine einfache Schnittstelle und eine Klasse, die sie implementiert:
<?php
interface Logger {
public function log($message);
}
class FileLogger implements Logger {
public function log($message) {
echo "Logging to file: " . $message;
}
}
$logger = new FileLogger();
$logger->log("Test message");
?>
Ergebnis der Codeausführung:
'Logging to file: Test message'
Beispiel
Eine Schnittstelle kann mehrere Methoden enthalten, und die Klasse muss alle implementieren:
<?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();
?>
Ergebnis der Codeausführung:
'Area: 78.5'