Heim > Backend-Entwicklung > PHP-Tutorial > Was sind die Vorteile und die Verwendung der „::class'-Notation von PHP?

Was sind die Vorteile und die Verwendung der „::class'-Notation von PHP?

Linda Hamilton
Freigeben: 2024-12-08 15:06:11
Original
930 Leute haben es durchsucht

What are the Benefits and Usage of PHP's `::class` Notation?

Die ::class-Notation von PHP verstehen

Die ::class-Notation in PHP ist eine leistungsstarke Funktion, mit der Sie den vollständig qualifizierten Namen erhalten können einer Klasse, einschließlich ihres Namensraums. Diese in PHP 5.5 eingeführte Notation bietet erhebliche Vorteile in Bezug auf die Lesbarkeit des Codes, das Refactoring und die späte statische Bindung.

Vorteile der Verwendung von ::class

Es gibt mehrere Vorteile unter Verwendung der ::class-Notation:

  • Erweiterte Klassenreferenz: Sie müssen Klassennamen nicht mehr als Zeichenfolgen speichern. IDEs können diese Klassennamen jetzt automatisch extrahieren und für Refactoring-Zwecke verwenden.
  • Namespace-Auflösung: Das Schlüsselwort use kann mit ::class kombiniert werden, um Klassen aufzulösen, ohne dass die vollständige Klasse angegeben werden muss Name. Dies vereinfacht den Code und verbessert die Lesbarkeit.
  • Late Static Binding: In übergeordneten Klassen können Sie static::class verwenden, um den Namen der abgeleiteten Klasse zu bestimmen, was mehr Flexibilität bei der Klassenvererbung bietet.

Syntax und Verwendung

Die Syntax von ::class ist unkompliziert:

SomeClass::class
Nach dem Login kopieren

Diese Notation gibt den vollständig qualifizierten Namen von SomeClass zurück, einschließlich seines Namespace-Präfixes.

Beispiele

Betrachten Sie das folgende Beispiel:

protected $commands = [
    \App\Console\Commands\Inspire::class,
];
Nach dem Login kopieren

Durch die Verwendung von ::class entfällt die Notwendigkeit fest codierter Klassennamen, was die Arbeit vereinfacht um das Befehlsarray zu verwalten und zu aktualisieren.

Beispiel für eine späte statische Bindung

Das folgende Beispiel demonstriert eine späte statische Bindung unter Verwendung der ::class-Notation:

class A {

    public function getClassName(){
        return __CLASS__;
    }

    public function getRealClassName() {
        return static::class;
    }
}

class B extends A {}

$a = new A;
$b = new B;

echo $a->getClassName();      // A
echo $a->getRealClassName();  // A
echo $b->getClassName();      // A
echo $b->getRealClassName();  // B
Nach dem Login kopieren

Wie Sie sehen können, verwendet die Methode getRealClassName() in der übergeordneten Klasse A static::class, um den Namen der abgeleiteten Klasse B abzurufen, was die Vorteile demonstriert der letzten statischen Bindung.

Das obige ist der detaillierte Inhalt vonWas sind die Vorteile und die Verwendung der „::class'-Notation von PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage