Nøkkelordet interface
Nøkkelordet interface brukes til å opprette grensesnitt - spesielle konstruksjoner som definerer hvilke metoder en klasse må implementere. Grensesnitt inneholder kun metodeerklæringer uten deres implementering. En klasse som implementerer et grensesnitt, må inneholde alle metoder som er erklært i grensesnittet.
Syntaks
interface InterfaceName {
public function method1();
public function method2($param);
// ...
}
Eksempel
La oss opprette et enkelt grensesnitt og en klasse som 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("Testmelding");
?>
Resultat av kjøring av kode:
'Logger til fil: Testmelding'
Eksempel
Et grensesnitt kan inneholde flere metoder, og klassen må implementere 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 av kjøring av kode:
'Areal: 78.5'