Fjala kyçe interface
Fjala kyçe interface përdoret për të krijuar interfeje - konstrukte të veçanta, të cilat përcaktojnë se cilat metoda duhet të implementojë një klasë. Interfejet përmbajnë vetëm deklarime metodash pa implementimin e tyre. Një klasë që implementon një interfej, duhet të përmbajë të gjitha metodat e deklaruara në atë interfej.
Sintaksa
interface InterfaceName {
public function method1();
public function method2($param);
// ...
}
Shembull
Le të krijojmë një interfej të thjeshtë dhe një klasë që e implementon atë:
<?php
interface Logger {
public function log($message);
}
class FileLogger implements Logger {
public function log($message) {
echo "Duke regjistruar në skedar: " . $message;
}
}
$logger = new FileLogger();
$logger->log("Mesazh testi");
?>
Rezultati i ekzekutimit të kodit:
'Duke regjistruar në skedar: Mesazh testi'
Shembull
Një interfej mund të përmbajë disa metoda, dhe klasa duhet t'i implementojë të gjitha:
<?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 "Sipërfaqja: " . $circle->calculateArea();
?>
Rezultati i ekzekutimit të kodit:
'Sipërfaqja: 78.5'