Maison > développement back-end > tutoriel php > Qu'est-ce que la notation PHP ::class et comment simplifie-t-elle la gestion des classes ?

Qu'est-ce que la notation PHP ::class et comment simplifie-t-elle la gestion des classes ?

Patricia Arquette
Libérer: 2024-11-22 06:09:13
original
383 Les gens l'ont consulté

What is the PHP ::class Notation and How Does it Simplify Class Handling?

La notation ::class en PHP : une explication complète

La notation ::class en PHP est un ajout relativement récent au langage , introduit dans la version 5.5. Cette notation vous permet de récupérer le nom complet d'une classe, y compris son espace de noms.

Comment utiliser ::class

Pour utiliser la notation ::class, écrivez simplement le nom de la classe suivi du suffixe ::class :

SomeClass::class
Copier après la connexion

Cela renverra le nom complet de la classe, tel comme :

App\Console\Commands\Inspire
Copier après la connexion

Avantages de l'utilisation de ::class

La notation ::class offre plusieurs avantages par rapport aux méthodes traditionnelles de stockage des noms de classe :

  • Élimine le besoin de chaînes littérales : Au lieu de stocker les noms de classe sous forme de chaînes, vous pouvez utiliser le ::notation de classe, qui générera automatiquement le nom complet correct. Cela rend votre code plus robuste et moins sujet aux erreurs.
  • Améliore la refactorisation de l'IDE : De nombreux IDE peuvent exploiter la notation ::class pour compléter automatiquement les noms de classe et les mettre à jour correctement pendant la refactorisation du code. .
  • Simplifie l'utilisation avec le mot-clé use : Vous pouvez utiliser le mot-clé use pour alias la classe noms, ce qui facilite leur utilisation dans votre code. Par exemple :
use App\Console\Commands\Inspire;

//...

protected $commands = [
    Inspire::class, // Equivalent to "App\Console\Commands\Inspire"
];
Copier après la connexion

Applications supplémentaires de ::class

En plus de sa fonction principale, la notation ::class peut également être utilisée pour liaison statique tardive, une technique où le nom de la classe dérivée est résolu à l'intérieur de la classe parent. Cela peut être accompli en utilisant la syntaxe static::class :

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
Copier après la connexion

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal