Guide d'utilisation détaillé de l'espace de noms PHP et de l'utilisation de l'importation

亚连
Libérer: 2023-03-26 10:00:02
original
1588 Les gens l'ont consulté

En PHP, les fonctions ou classes portant le même nom ne sont pas autorisées. Afin d'éviter des conflits répétés dans les noms de classes ou de fonctions définis par les programmeurs du projet, le concept d'espace de noms a été introduit dans PHP5.3.

1. Espace de noms, c'est-à-dire diviser le code en différents espaces. Les noms de classe dans différents espaces sont indépendants les uns des autres et. ne sont pas en conflit les uns avec les autres. Plusieurs espaces de noms peuvent exister dans un fichier php et il ne peut y avoir de code avant le premier espace de noms. Le code après la déclaration de l'espace de contenu appartient à cet espace de noms, par exemple :

<?php
    echo 111;       //由于namespace前有代码而报错
    namespace Teacher;    class Person{
        function __construct(){
            echo &#39;Please study!&#39;;
        }
    }12345678
Copier après la connexion

2. Lors de l'appel de classes ou de méthodes dans différents espaces, l'espace de noms doit être spécifié. Par exemple :

<?php
    namespace Teacher;    class Person{
        function __construct(){
            echo &#39;Please study!<br/>&#39;;
        }
    }    function Person(){
        return &#39;You must stay here!&#39;;
    };    namespace Student;    class Person{
        function __construct(){
            echo &#39;I want to play!<br/>&#39;;
        }
    }    new Person();                    //本空间(Student空间)
    new \Teacher\Person();           //Teacher空间
    new \Student\Person();           //Student空间
    echo \Teacher\Person();          //Teacher空间下Person函数
    //输出:
    I want to play!
    Please study!
    I want to play!
    You must stay here!12345678910111213141516171819202122232425
Copier après la connexion

3. Les autres fichiers introduits dans l'espace de noms n'appartiendront pas à cet espace de noms, mais à l'espace public ou à l'espace de noms défini dans le fichier lui-même. Exemple :

Définissons d'abord un fichier 1.php et 2.php :

<?php     //1.phpclass Person{
    function __construct(){
            echo &#39;I am one!<br/>&#39;;
        }
}123456
<?phpnamespace Newer;require_once &#39;./1.php&#39;;new Person();      //报错,找不到Person;new \Person();     //输出 I am tow!;12345
<?php     //2.phpnamespace Twoclass Person{    function __construct(){
            echo &#39;I am tow!<br/>&#39;;
        }
}1234567
Copier après la connexion
<?php
namespace New;require_once &#39;./2.php&#39;;new Person();      
//报错,(当前空间)找不到Person;new \Person();     
//报错,(公共空间)找不到Person;new \Two\Person();  
//输出 I am tow!;123456
Copier après la connexion

4. Voyons comment utiliser use : (use peut être abrégé pour de futures références. )

   namespace School\Parents;    class Man{
        function __construct(){
            echo &#39;Listen to teachers!<br/>&#39;;
        }
    }    namespace School\Teacher;    class Person{
        function __construct(){
            echo &#39;Please study!<br/>&#39;;
        }
    }    namespace School\Student;    class Person{
        function __construct(){
            echo &#39;I want to play!<br/>&#39;;
        }
    }    new Person();                   //输出I want to play!
    new \School\Teacher\Person();   //输出Please study!
    new Teacher\Person();           //报错
    ----------    use School\Teacher;  
    new Teacher\Person();           //输出Please study!    
    ----------    use School\Teacher as Tc;  
    new Tc\Person();           //输出Please study!  
    ----------    use \School\Teacher\Person; 
    new Person();           //报错
    ----------    use \School\Parent\Man; 
    new Man();           //报错
Copier après la connexion

Ce qui précède est l'espace de noms PHP et l'utilisation de l'importation que j'ai compilé pour vous. J'espère qu'il vous sera utile à l'avenir. .

Articles connexes :

Méthodes magiques couramment utilisées en PHP

Fonctions PHP couramment utilisées

Idées de conception et lacunes de l'espace de noms php

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!