Explication détaillée de la façon de définir l'espace de noms PHP

黄舟
Libérer: 2023-03-07 07:34:01
original
1014 Les gens l'ont consulté

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

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 &#39;test.php&#39;;
$T=new \Test\Test();
$T->Ttest();
Copier après la connexion

Le résultat est :

C'est la méthode de test dans Test

Méthode 2 :

namespace Index;
namespace Test;
require &#39;test.php&#39;;
$T=new Test();
$T->Ttest();
Copier après la connexion

Le résultat est :

C'est la méthode de test dans Test

Méthode 3 :

namespace Index;
require &#39;test.php&#39;;
use Test\Test;
$T=new Test();
$T->Ttest();
Copier après la connexion

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

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 &#39;../projectOne/One.php&#39;;
$O=new Test();
echo $O->test();
Copier après la connexion

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();
}
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!