Ključna beseda interface

Ključna beseda interface se uporablja za ustvarjanje vmesnikov - posebnih konstruktov, ki določajo, katere metode mora razred implementirati. Vmesniki vsebujejo samo deklaracije metod brez njihove implementacije. Razred, ki implementira vmesnik, mora vsebovati vse metode, deklarirane v vmesniku.

Sintaksa

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

Primer

Ustvarimo preprost vmesnik in razred, ki ga implementira:

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

  class FileLogger implements Logger {
    public function log($message) {
      echo "Beleženje v datoteko: " . $message;
    }
  }

  $logger = new FileLogger();
  $logger->log("Testno sporočilo");
?>

Rezultat izvajanja kode:

php'Beleženje v datoteko: Testno sporočilo'

Primer

Vmesnik lahko vsebuje več metod in razred jih mora implementirati vse:

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 "Površina: " . $circle->calculateArea();
?>

Rezultat izvajanja kode:

php'Površina: 78.5'

Glejte tudi

  • ukaz class,
    za deklaracijo razredov
  • ukaz trait,
    za deklaracijo lastnosti (trait)