Comprendre ::class en PHP : un outil polyvalent pour la manipulation de classes
De nombreux développeurs ne sont peut-être pas familiers avec le mystérieux :: notation class en PHP en raison de sa nature énigmatique. Voyons de quoi il s'agit et comment cela profite aux développeurs.
Qu'est-ce que ::class ?
La syntaxe ::class en PHP permet nous pour récupérer le nom complet d'une classe, y compris son espace de noms. Cette fonctionnalité a été introduite dans PHP 5.5.
Avantages de l'utilisation de ::class
Cette notation offre deux avantages principaux :
use \App\Console\Commands\Inspire; //... protected $commands = [ Inspire::class, // Equivalent to "App\Console\Commands\Inspire" ];
Avantages supplémentaires
En plus des avantages susmentionnés, la notation ::class joue également un rôle rôle crucial dans la liaison statique tardive. Contrairement à la constante magique CLASS, static::class permet de récupérer le nom de classe actuel au sein des classes parentes. Cette différenciation est particulièrement utile lorsqu'il s'agit d'héritage de classe.
Exemple : liaison statique tardive
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!