Verstehen von ::class in PHP
Die ::class-Syntax in PHP bezieht sich auf eine relativ neue Ergänzung, die in Version 5.5 eingeführt wurde. Es dient als Kurzschreibweise zur Darstellung des vollständig qualifizierten Namens einer Klasse, einschließlich ihres Namensraums.
Funktionalität und Vorteile
SomeClass::class gibt die Zeichenfolgendarstellung zurück des vollständig qualifizierten Namens von SomeClass. Diese Funktion bietet mehrere Vorteile:
use \App\Console\Commands\Inspire; //... protected $commands = [ Inspire::class, // Equivalent to "App\Console\Commands\Inspire" ];
Zusätzlicher Vorteil: Late Static Binding
Zusätzlich zu den oben genannten Vorteilen ist ::class auch für die Implementierung von Late Static nützlich Bindung, bei der der Name der abgeleiteten Klasse innerhalb der übergeordneten Klasse abgerufen werden kann. Dies wird durch die Verwendung von static::class anstelle der magischen Konstante CLASS erreicht, wie im folgenden Beispiel zu sehen ist:
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
Das obige ist der detaillierte Inhalt vonWas ist die PHP-Syntax „::class' und wie verbessert sie den Code?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!