Les espaces de noms sont un moyen d'encapsuler des choses. Ce concept abstrait se retrouve à de nombreux endroits. Par exemple, les répertoires sont utilisés dans les systèmes d'exploitation pour regrouper les fichiers associés et agissent comme des espaces de noms pour les fichiers du répertoire.
Permettez-moi de vous donner un exemple simple de classe :
<?php namespace Dojo; class Ninja { }
Dans l'exemple ci-dessus, nous créons dans l'espace de noms Dojo Nous avons créé un nouvelle classe appelée Ninja. Si nous n'utilisons pas d'espaces de noms et que notre application contient une autre classe appelée Ninja, nous obtiendrons une erreur indiquant que nous ne pouvons pas redéclarer la classe.
Ensuite, les espaces de noms peuvent résoudre ce problème. Nous pouvons créer une autre classe comme celle-ci :
<?php namespace Training; class Ninja { }
Maintenant, si nous incluons les deux fichiers dans notre application, il sera facile de distinguer quelle classe Ninja nous voulons utiliser.
À titre d'exemple, voici un code montrant comment nous utiliserions la classe Ninja :
<?php // require both of our ninja classes require "Dojo/Ninja.php"; require "Training/Ninja.php"; // create a new Ninja in the Dojo namespace $ninja1 = new Dojo\Ninja(); // create a new Ninja in the Training namespace $ninja2 = new Training\Ninja();
Les deux classes sont différentes et peuvent avoir des fonctionnalités différentes, donc l'espace de noms permet d'utiliser le même nom de classe et les différencier par leur espace de noms. Vous pouvez également utiliser la fonction PHP use pour rendre votre code plus lisible. Par exemple, disons que nous souhaitons uniquement utiliser Ninja et non DojoNinja.
Nous pouvons faire ceci :
<?php // require both of our ninja classes require "Dojo/Ninja.php"; require "Training/Ninja.php"; use Dojo\Ninja as Ninja; $my_ninja = new Ninja();
Lorsque nous voulons utiliser un autre fichier Ninja, nous pouvons simplement faire ce qui suit :
use Training\Ninja as Ninja;
C'est tout ! Restez simple !
Le dernier point que je souhaite souligner est que, généralement, lorsque vous utilisez des espaces de noms, vous souhaitez suivre la structure des dossiers de l'espace de noms afin qu'il soit plus facile de trouver où se trouvent ces fichiers.
Notre fichier Training/Ninja.php existera donc probablement dans le dossier Training.
Vous souhaitez donc continuer à ajouter des noms de classes faciles à retenir et courants à vos projets. N'oubliez pas de leur donner un espace de noms !
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!