1. Wissen Sie, welche Merkmale in PHP enthalten sind?
Es sieht sowohl nach einer Klasse als auch nach einer Schnittstelle aus, ist aber eigentlich keines von beidem.
Trait kann als Teilimplementierung einer Klasse betrachtet werden, die in eine oder mehrere vorhandene PHP-Klassen eingemischt werden kann. Sie hat zwei Funktionen: Sie zeigt an, was die Klasse tun kann, und stellt eine modulare Implementierung bereit. Trait ist eine Code-Wiederverwendungstechnologie, die einen flexiblen Code-Wiederverwendungsmechanismus für die Einzelvererbungsbeschränkung von PHP bietet.
2. PHP-Versionsanforderungen:
PHP5.4 begann mit der Einführung von Merkmalen, deren Zweck darin besteht, Codeduplizierung zu reduzieren und die Wiederverwendbarkeit von Code zu erhöhen.
3. Szenarien zur Verwendung von Merkmalen:
Stellen Sie sich eine Situation wie diese vor, wenn eine Methode in vielen Klassen verwendet werden muss.
Normalerweise besteht der allgemeine Ansatz darin, eine Basisklasse zu schreiben, diese Methode in der Basisklasse zu implementieren und dann alle Klassen diese Basisklasse zu erben.
Das ist ein Weg, damit umzugehen, aber es ist nicht der beste Weg, damit umzugehen. Vererbung kommt meist dann zum Einsatz, wenn mehrere Klassen große Ähnlichkeiten aufweisen. Als Basisklasse erben beispielsweise Personen, Studenten, Arbeiter usw. die Basisklasse „Person“, um sie zu erweitern.
Daher kann die Rolle des Merkmals in mehreren Klassen verwendet werden.
4. So verwenden Sie Merkmale:
Beispiel 1
<?php trait ezcReflectionReturnInfo { function getReturnType() { /*1*/ } function getReturnDescription() { /*2*/ } } class ezcReflectionMethod extends ReflectionMethod { use ezcReflectionReturnInfo; /* ... */ } class ezcReflectionFunction extends ReflectionFunction { use ezcReflectionReturnInfo; /* ... */ } ?>
1. Deklarieren Sie zuerst ein Merkmal;
2.
Ist es sehr einfach (manuelle Flucht)? Zu beachten ist die Priorität der Merkmale.
(Kostenloses Teilen von Lernvideos:
php-Video-Tutorial(Klopfen Sie an die Tafel) Von der Basisklasse geerbte Mitglieder werden durch vom Merkmal eingefügte Mitglieder überschrieben. Die Rangfolge besteht darin, dass Mitglieder der aktuellen Klasse die Methoden des Merkmals überschreiben und das Merkmal die geerbten Methoden überschreibt.
Priorität: eigene Methode > Methode des Merkmals > geerbte Methode (so sieht es aus.)
Schauen Sie sich das Beispiel an
<?php trait HelloWorld { public function sayHello() { echo 'Hello World!'; } } class TheWorldIsNotEnough { use HelloWorld; public function sayHello() { echo 'Hello Universe!'; } } $o = new TheWorldIsNotEnough(); $o->sayHello();//输出是 Hello Universe! ?>
Eine weitere zu beachtende Sache ist: die Verwendung mehrerer Merkmale.
<?php trait Hello { public function sayHello() { echo 'Hello '; } } trait World { public function sayWorld() { echo 'World'; } } class MyHelloWorld { use Hello, World; public function sayExclamationMark() { echo '!'; } } $o = new MyHelloWorld(); $o->sayHello(); $o->sayWorld(); $o->sayExclamationMark(); ?>
Zusammenfassung: Trait ist eine Code-Wiederverwendungstechnologie, die einen flexiblen Code-Wiederverwendungsmechanismus für die Einzelvererbungsbeschränkung von PHP bietet.
Verwandte Empfehlungen:
php-TutorialDas obige ist der detaillierte Inhalt vonWie man Merkmale in PHP verwendet. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!