Кључна реч interface

Кључна реч interface се користи за креирање интерфејса - специјалних конструкција које дефинишу које методе класа мора да имплементира. Интерфејси садрже само декларације метода без њихове имплементације. Класа која имплементира интерфејс мора да садржи све методе декларисане у интерфејсу.

Синтакса

phpinterface InterfaceName {
  public function method1();
  public function method2($param);
  // ...
}

Пример

Креирајмо једноставан интерфејс и класу која га имплементира:

php<?php
  interface Logger {
    public function log($message);
  }

  class FileLogger implements Logger {
    public function log($message) {
      echo "Učitavanje у фајл: " . $message;
    }
  }

  $logger = new FileLogger();
  $logger->log("Test poruka");
?>

Резултат извршавања кода:

php'Učitavanje у фајл: Test poruka'

Пример

Интерфејс може садржати више метода, и класа мора да имплементира све:

php<?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();
?>

Резултат извршавања кода:

php'Површина: 78.5'

Погледајте такође

  • команду class,
    за декларацију класа
  • команду trait,
    за декларацију трејтова