Interface açar sözi

interface açar sözi interfeýsleri döretmek üçin ulanylýar - bu klasyň amala aşyrmagy zerur bolan metodlary kesgitleýän ýörite gurluşlardyr. Interfeýsler diňe metodlaryň beýanyny öz içine alýar, olaryň amaly ýerine ýetirilişini öz içine almaz. Interfeýsi ýerine ýetirýän klas, interfeýsde habar berlen ähli metodlary öz içine almalydyr.

Sintaksis

phpinterface InterfeýsAdy {
  public function metod1();
  public function metod2($parametr);
  // ...
}

Mysal

Ýönekeý interfeýs we ony ýerine ýetirýän klas döredeliň:

php<?php
  interface Loglaýjy {
    public function log($habar);
  }

  class FaýlLoglaýjy implements Loglaýjy {
    public function log($habar) {
      echo "Faýla loglaşdyrma: " . $habar;
    }
  }

  $loglaýjy = new FaýlLoglaýjy();
  $loglaýjy->log("Test habary");
?>

Kodyň ýerine ýetiriliş netijesi:

php'Faýla loglaşdyrma: Test habary'

Mysal

Interfeýs birnäçe metoda eýe bolup biler we klas olaryň hemmesini amala aşyrmalydyr:

php<?php
  interface Şekil {
    public function meýdanyHasapla();
    public function perimetriHasapla();
  }

  class Tebigat implements Şekil {
    private $radius;
    
    public function __construct($radius) {
      $this->radius = $radius;
    }
    
    public function meýdanyHasapla() {
      return 3.14 * $this->radius * $this->radius;
    }
    
    public function perimetriHasapla() {
      return 2 * 3.14 * $this->radius;
    }
  }

  $tebigat = new Tebigat(5);
  echo "Meýdan: " . $tebigat->meýdanyHasapla();
?>

Kodyň ýerine ýetiriliş netijesi:

php'Meýdan: 78.5'

Şeýle-de görüň

  • class buýrugyny,
    klaslary habar etmek üçin
  • trait buýrugyny,
    traitleri habar etmek üçin