Клучниот збор 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("Test message");
?>
Резултат од извршувањето на кодот:
'Логирање во датотека: 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 "Површина: " . $circle->calculateArea();
?>
Резултат од извршувањето на кодот:
'Површина: 78.5'