Klíčové slovo interface
Klíčové slovo interface se používá k vytváření rozhraní - speciálních konstrukcí, které definují jaké metody musí třída implementovat. Rozhraní obsahují pouze deklarace metod bez jejich implementace. Třída, která implementuje rozhraní, musí obsahovat všechny metody deklarované v rozhraní.
Syntaxe
interface InterfaceName {
public function method1();
public function method2($param);
// ...
}
Příklad
Vytvoříme jednoduché rozhraní a třídu, která jej implementuje:
<?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");
?>
Výsledek provedení kódu:
'Logging to file: Test message'
Příklad
Rozhraní může obsahovat několik metod a třída musí implementovat všechny:
<?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();
?>
Výsledek provedení kódu:
'Area: 78.5'