Die sleutelwoord interface
Die sleutelwoord interface word gebruik om interfaces te skep - spesiale konstruksies wat definieer watter metodes 'n klas moet implementeer. Interfaces bevat slegs die verklarings van metodes sonder hul implementering. 'n Klas wat 'n interface implementeer, moet al die metodes bevat wat in die interface verklaar is.
Sintaksis
interface InterfaceName {
public function method1();
public function method2($param);
// ...
}
Voorbeeld
Kom ons skep 'n eenvoudige interface en 'n klas wat dit implementeer:
<?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");
?>
Resultaat van die kode-uitvoering:
'Logging to file: Test message'
Voorbeeld
'n Interface kan verskeie metodes bevat, en die klas moet hulle almal implementeer:
<?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();
?>
Resultaat van die kode-uitvoering:
'Area: 78.5'