Калимаи калидии 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 "Ба файл сабт карда истодаам: " . $message;
}
}
$logger = new FileLogger();
$logger->log("Пайоми озмоишӣ");
?>
Натиҷаи иҷрои рамз:
'Ба файл сабт карда истодаам: Пайоми озмоишӣ'
Намуна
Интерфейс метавонад чанд методро дар бар гирад, ва класс бояд ҳамаи онҳоро амалӣ кунад:
<?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 "Масоҳат: " . $circle->calculateArea();
?>
Натиҷаи иҷрои рамз:
'Масоҳат: 78.5'