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 - Eienskappe


PHP - Wat is eienskappe?

PHP ondersteun slegs enkeloorerwing: 'n kinderklas kan slegs van een enkelouer erf.

So, wat as 'n klas veelvuldige gedrag moet erf? OOP-eienskappe los hierdie probleem op.

Eienskappe word gebruik om metodes te verklaar wat in verskeie klasse gebruik kan word. Eienskappe kan metodes en abstrakte metodes hê wat in verskeie klasse gebruik kan word, en die metodes kan enige toegangswysiger hê (publiek, privaat of beskerm).

Eienskappe word verklaar met die trait sleutelwoord:

Sintaksis

<?php
trait TraitName {
  // some code...
}
?>

Om 'n eienskap in 'n klas te gebruik, gebruik die use sleutelwoord:

Sintaksis

<?php
class MyClass {
  use TraitName;
}
?>

Kom ons kyk na 'n voorbeeld:

Voorbeeld

<?php
trait message1 {
public function msg1() {
    echo "OOP is fun! ";
  }
}

class Welcome {
  use message1;
}

$obj = new Welcome();
$obj->msg1();
?>

Voorbeeld Verduidelik

Hier verklaar ons een eienskap: boodskap1. Dan skep ons 'n klas: Welkom. Die klas gebruik die eienskap, en al die metodes in die eienskap sal in die klas beskikbaar wees.

As ander klasse die msg1()-funksie moet gebruik, gebruik eenvoudig die message1-eienskap in daardie klasse. Dit verminder kodeduplisering, want dit is nie nodig om dieselfde metode oor en oor te herverklaar nie.



PHP - Gebruik veelvuldige eienskappe

Kom ons kyk na nog 'n voorbeeld:

Voorbeeld

<?php
trait message1 {
  public function msg1() {
    echo "OOP is fun! ";
  }
}

trait message2 {
  public function msg2() {
    echo "OOP reduces code duplication!";
  }
}

class Welcome {
  use message1;
}

class Welcome2 {
  use message1, message2;
}

$obj = new Welcome();
$obj->msg1();
echo "<br>";

$obj2 = new Welcome2();
$obj2->msg1();
$obj2->msg2();
?>

Voorbeeld Verduidelik

Hier verklaar ons twee eienskappe: boodskap1 en boodskap2. Dan skep ons twee klasse: Welkom en Welkom2. Die eerste klas (Welkom) gebruik die boodskap1-eienskap, en die tweede klas (Welkom2) gebruik beide boodskap1- en boodskap2-eienskappe (veelvuldige eienskappe word deur kommas geskei).