Comprendre ::class en PHP
La syntaxe ::class en PHP fait référence à un ajout relativement récent introduit dans la version 5.5. Il sert de notation abrégée pour représenter le nom complet d'une classe, y compris son espace de noms.
Fonctionnalités et avantages
SomeClass::class renverra la représentation sous forme de chaîne. du nom complet de SomeClass. Cette fonctionnalité offre plusieurs avantages :
use \App\Console\Commands\Inspire; //... protected $commands = [ Inspire::class, // Equivalent to "App\Console\Commands\Inspire" ];
Avantage supplémentaire : liaison statique tardive
En plus des avantages susmentionnés, ::class est également utile pour la mise en œuvre de la liaison statique tardive. Liaison, où le nom de la classe dérivée peut être obtenu dans la classe parent. Ceci est réalisé en utilisant static::class au lieu de la constante magique CLASS, comme le montre l'exemple suivant :
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
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!