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
interface InterfeýsAdy {
public function metod1();
public function metod2($parametr);
// ...
}
Mysal
Ýönekeý interfeýs we ony ýerine ýetirýän klas döredeliň:
<?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:
'Faýla loglaşdyrma: Test habary'
Mysal
Interfeýs birnäçe metoda eýe bolup biler we klas olaryň hemmesini amala aşyrmalydyr:
<?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:
'Meýdan: 78.5'