interface հիմնաբառը
interface հիմնաբառն օգտագործվում է ինտերֆեյսներ ստեղծելու համար՝ հատուկ կոնստրուկցիաներ, որոնք սահմանում են, թե որ մեթոդները պետք է իրականացնի դասը: Ինտերֆեյսները պարունակում են միայն մեթոդների հայտարարություններ՝ առանց դրանց իրականացման: Դասը, որն իրականացնում է ինտերֆեյսը, պետք է պարունակի ինտերֆեյսում հայտարարված բոլոր մեթոդները:
Շարահյուսություն
interface InterfaceName {
public function method1();
public function method2($param);
// ...
}
Օրինակ
Ստեղծենք պարզ ինտերֆեյս և դաս, որը այն իրականացնում է.
<?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");
?>
Կոդի կատարման արդյունք.
'Logging to file: Test message'
Օրինակ
Ինտերֆեյսը կարող է պարունակել մի քանի մեթոդ, և դասը պետք է իրականացնի դրանք բոլորը.
<?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();
?>
Կոդի կատարման արդյունք.
'Area: 78.5'