PHP handleiding

PHP TUIS PHP Inleiding PHP installeer PHP sintaksis PHP opmerkings PHP veranderlikes PHP Echo / Druk PHP datatipes PHP Strings PHP-nommers PHP Wiskunde PHP konstante PHP-operateurs PHP As...Anders...Elseif PHP skakelaar PHP-lusse PHP funksies PHP-skikkings PHP Superglobals PHP RegEx

PHP- vorms

PHP-vormhantering PHP-vorm validering PHP-vorm word vereis PHP-vorm URL/e-pos PHP-vorm voltooi

PHP Gevorderd

PHP datum en tyd PHP sluit in PHP-lêerhantering PHP-lêer oop/lees PHP-lêer skep/skryf PHP-lêer oplaai PHP-koekies PHP-sessies PHP filters PHP-filters Gevorderd PHP-terugbelfunksies PHP JSON PHP-uitsonderings

PHP OOP

PHP Wat is OOP PHP Klasse/Objekte PHP Konstrukteur PHP vernietiger PHP Toegangswysigers PHP erfenis PHP konstante PHP Abstrakte Klasse PHP-koppelvlakke PHP eienskappe PHP statiese metodes PHP Statiese Eienskappe PHP naamruimtes PHP Iterables

MySQL- databasis

MySQL-databasis MySQL Connect MySQL Skep DB MySQL Skep tabel MySQL Voeg data in MySQL Kry Laaste ID MySQL Voeg veelvuldige in MySQL voorberei MySQL Kies Data MySQL Waar MySQL Bestel deur MySQL verwyder data MySQL-opdateringsdata MySQL-limietdata

PHP XML

PHP XML-ontleders PHP SimpleXML-ontleder PHP SimpleXML - Kry PHP XML Expat PHP XML DOM

PHP - AJAX

AJAX Intro AJAX PHP AJAX-databasis AJAX XML AJAX Live Search AJAX-peiling

PHP voorbeelde

PHP voorbeelde PHP samesteller PHP vasvra PHP Oefeninge PHP-sertifikaat

PHP- verwysing

PHP Oorsig PHP Skikking PHP-kalender PHP datum PHP gids PHP fout PHP-uitsondering PHP lêerstelsel PHP filter PHP FTP PHP JSON PHP sleutelwoorde PHP Libxml PHP-pos PHP Wiskunde PHP Diverse PHP MySQLi PHP-netwerk PHP-uitsetbeheer PHP RegEx PHP SimpleXML PHP-stroom PHP-string PHP veranderlike hantering PHP XML-ontleder PHP zip PHP Tydsones

PHP OOP - Interfaces


PHP - Wat is koppelvlakke?

Interfaces laat jou toe om te spesifiseer watter metodes 'n klas moet implementeer.

Interfaces maak dit maklik om 'n verskeidenheid verskillende klasse op dieselfde manier te gebruik. Wanneer een of meer klasse dieselfde koppelvlak gebruik, word daar na verwys as "polimorfisme".

Interfaces word verklaar met die interfacesleutelwoord:

Sintaksis

<?php
interface InterfaceName {
  public function someMethod1();
  public function someMethod2($name, $color);
  public function someMethod3() : string;
}
?>

PHP - Interfaces vs. Abstrakte Klasse

Interface is soortgelyk aan abstrakte klasse. Die verskil tussen koppelvlakke en abstrakte klasse is:

  • Interfaces kan nie eienskappe hê nie, terwyl abstrakte klasse kan
  • Alle koppelvlakmetodes moet publiek wees, terwyl abstrakte klasmetodes publiek of beskerm is
  • Alle metodes in 'n koppelvlak is abstrak, dus kan hulle nie in kode geïmplementeer word nie en die abstrakte sleutelwoord is nie nodig nie
  • Klasse kan 'n koppelvlak implementeer terwyl hulle terselfdertyd van 'n ander klas erf

PHP - Gebruik koppelvlakke

Om 'n koppelvlak te implementeer, moet 'n klas die implementssleutelwoord gebruik.

'n Klas wat 'n koppelvlak implementeer, moet al die koppelvlak se metodes implementeer.

Voorbeeld

<?php
interface Animal {
  public function makeSound();
}

class Cat implements Animal {
  public function makeSound() {
    echo "Meow";
  }
}

$animal = new Cat();
$animal->makeSound();
?>

Kom ons sê uit die voorbeeld hierbo dat ons sagteware wil skryf wat 'n groep diere bestuur. Daar is aksies wat al die diere kan doen, maar elke dier doen dit op sy eie manier.

Deur koppelvlakke te gebruik, kan ons 'n kode skryf wat vir al die diere kan werk, selfs al tree elke dier anders op:

Voorbeeld

<?php
// Interface definition
interface Animal {
  public function makeSound();
}

// Class definitions
class Cat implements Animal {
  public function makeSound() {
    echo " Meow ";
  }
}

class Dog implements Animal {
  public function makeSound() {
    echo " Bark ";
  }
}

class Mouse implements Animal {
  public function makeSound() {
    echo " Squeak ";
  }
}

// Create a list of animals
$cat = new Cat();
$dog = new Dog();
$mouse = new Mouse();
$animals = array($cat, $dog, $mouse);

// Tell the animals to make a sound
foreach($animals as $animal) {
  $animal->makeSound();
}
?>

Voorbeeld Verduidelik

Kat, Hond en Muis is almal klasse wat die Diere-koppelvlak implementeer, wat beteken dat almal 'n geluid kan maak deur die makeSound()metode te gebruik. As gevolg hiervan kan ons deur al die diere loop en vir hulle sê om 'n geluid te maak, selfs al weet ons nie watter tipe dier elkeen is nie.

Aangesien die koppelvlak nie vir die klasse vertel hoe om die metode te implementeer nie, kan elke dier 'n geluid op sy eie manier maak.