Клучниот збор 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 "Логирање во датотека: " . $message;
    }
  }

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

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

php'Логирање во датотека: Test message'

Пример

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

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,
    за декларирање на трејтови