Kata kunci interface
Kata kunci interface digunakan untuk mencipta interface - konstruksi khas yang menentukan kaedah mana yang mesti dilaksanakan oleh sebuah kelas. Interface hanya mengandungi pengisytiharan kaedah tanpa pelaksanaannya. Kelas yang melaksanakan interface mesti mengandungi semua kaedah yang diisytiharkan dalam interface.
Sintaks
interface InterfaceName {
public function method1();
public function method2($param);
// ...
}
Contoh
Mari buat interface mudah dan kelas yang melaksanakannya:
<?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");
?>
Hasil pelaksanaan kod:
'Logging to file: Test message'
Contoh
Interface boleh mengandungi beberapa kaedah, dan kelas mesti melaksanakan semuanya:
<?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();
?>
Hasil pelaksanaan kod:
'Area: 78.5'