Cet article présente principalement la méthode de définition de PHPnamespaceespace de noms, et analyse en détail la méthode de définition et la corrélation de l'espace de noms et du sous-espace de noms PHP sous forme d'exemplesNotes, les amis dans le besoin peuvent s'y référer
L'exemple de cet article décrit la méthode de définition de l'espace de noms PHP. Partagez-le avec tout le monde pour votre référence. Les détails sont les suivants :
Définissez l'espace de noms
Concernant le nom de l'espace, je ne veux pas l'expliquer. en mots ici. Une meilleure explication est d'utiliser l'exemple pour prouver :
Pour exemple :
Le code suivant est le fichier dans "test.php" :
namespace Test; class Test{ public function Ttest(){ echo "这是Test里面的测试方法"."<br>"; } }
Ensuite, j'utiliserai trois manières différentes d'accéder. J'ai écrit ces trois programmes d'accès dans un fichier appelé "index.php" :
Méthode 1 :
namespace Index; require 'test.php'; $T=new \Test\Test(); $T->Ttest();
Le résultat est :
C'est la méthode de test dans Test
Méthode 2 :
namespace Index; namespace Test; require 'test.php'; $T=new Test(); $T->Ttest();
Le résultat est :
C'est la méthode de test dans Test
Méthode 3 :
namespace Index; require 'test.php'; use Test\Test; $T=new Test(); $T->Ttest();
Le résultat est :
C'est la méthode de test dans Test
Remarque : L'espace de noms Index peut être écrit ou non, c'est juste le nom d'espace de l'index Fichier .php. Les résultats obtenus par ces trois méthodes sont les mêmes.
Définir des sous-espaces de noms
Définition :
est très similaire à la relation entre les répertoires et les fichiers. Les espaces de noms PHP vous permettent également de spécifier des espaces de noms hiérarchiques. . nom. Par conséquent, les noms d’espaces de noms peuvent être définis de manière hiérarchique.
L'exemple est le suivant. Ceci est mon répertoire de projet personnalisé :
one.php
namespace projectOne\one; class Test{ public function test(){ return "this is a test program"; } }
Afin de accédez à un. La méthode test() sous la classe Test en php, mon code dans Two est le suivant :
Two.php
namespace projectOne\one; require '../projectOne/One.php'; $O=new Test(); echo $O->test();
Sortie : ceci est un programme de test
Plusieurs espaces de noms sont définis dans le même fichier et ils accèdent les uns aux autres
test.php
namespace projectOne\one{ class test{ public function hello(){ return "helloworld"; } } } namespace projectOne\Two{ class project{ public function world2(){ return "welcome to china"; } } class project2 extends \projectOne\one\test{ public function wo(){ return "this is my test function ,it is name wo"; } } } namespace projectOne\Two{ $p=new project2(); echo $p->wo()."<br>"; echo $p->hello(); }
sortie : c'est ma fonction de test, c'est le nom wo
bonjour le monde
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!