Maison  >  Article  >  développement back-end  >  Explication détaillée de la façon de définir l'espace de noms PHP

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

黄舟
黄舟original
2017-03-30 09:11:431015parcourir

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 &#39;test.php&#39;;
$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 &#39;test.php&#39;;
$T=new Test();
$T->Ttest();

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();

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 &#39;../projectOne/One.php&#39;;
$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!

Déclaration:
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