Heim > Backend-Entwicklung > PHP-Problem > Wie man Merkmale in PHP verwendet

Wie man Merkmale in PHP verwendet

王林
Freigeben: 2023-03-09 12:56:01
nach vorne
2264 Leute haben es durchsucht

Wie man Merkmale in PHP verwendet

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;
    /* ... */
}
?>
Nach dem Login kopieren

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

) 5. Merkmalspriorität

(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 &#39;Hello World!&#39;;
    }
}

class TheWorldIsNotEnough {
    use HelloWorld;
    public function sayHello() {
        echo &#39;Hello Universe!&#39;;
    }
}

$o = new TheWorldIsNotEnough();
$o->sayHello();//输出是 Hello Universe!
?>
Nach dem Login kopieren

Eine weitere zu beachtende Sache ist: die Verwendung mehrerer Merkmale.

<?php
trait Hello {
    public function sayHello() {
        echo &#39;Hello &#39;;
    }
}

trait World {
    public function sayWorld() {
        echo &#39;World&#39;;
    }
}

class MyHelloWorld {
    use Hello, World;
    public function sayExclamationMark() {
        echo &#39;!&#39;;
    }
}

$o = new MyHelloWorld();
$o->sayHello();
$o->sayWorld();
$o->sayExclamationMark();
?>
Nach dem Login kopieren

Zusammenfassung: Trait ist eine Code-Wiederverwendungstechnologie, die einen flexiblen Code-Wiederverwendungsmechanismus für die Einzelvererbungsbeschränkung von PHP bietet.

Verwandte Empfehlungen:

php-Tutorial

Das 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!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage