Ključna beseda interface
Ključna beseda interface se uporablja za ustvarjanje vmesnikov - posebnih konstruktov, ki določajo, katere metode mora razred implementirati. Vmesniki vsebujejo samo deklaracije metod brez njihove implementacije. Razred, ki implementira vmesnik, mora vsebovati vse metode, deklarirane v vmesniku.
Sintaksa
interface InterfaceName {
public function method1();
public function method2($param);
// ...
}
Primer
Ustvarimo preprost vmesnik in razred, ki ga implementira:
<?php
interface Logger {
public function log($message);
}
class FileLogger implements Logger {
public function log($message) {
echo "Beleženje v datoteko: " . $message;
}
}
$logger = new FileLogger();
$logger->log("Testno sporočilo");
?>
Rezultat izvajanja kode:
'Beleženje v datoteko: Testno sporočilo'
Primer
Vmesnik lahko vsebuje več metod in razred jih mora implementirati vse:
<?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 "Površina: " . $circle->calculateArea();
?>
Rezultat izvajanja kode:
'Površina: 78.5'