Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Nutzungsanleitung für den PHP-Namespace-Namespace und die Importverwendung

Detaillierte Nutzungsanleitung für den PHP-Namespace-Namespace und die Importverwendung

亚连
亚连Original
2018-05-17 13:37:121654Durchsuche

In PHP sind Funktionen oder Klassen mit demselben Namen nicht erlaubt. Um wiederholte Konflikte bei Klassennamen oder Funktionsnamen zu verhindern, die von Programmierern im Projekt definiert wurden, wurde in PHP5.3 das Konzept des Namespace eingeführt.

1. Namespace, das heißt, die Aufteilung des Codes in verschiedene Räume ist unabhängig voneinander und nicht miteinander in Konflikt geraten. In einer PHP-Datei können mehrere Namespaces vorhanden sein, und vor dem ersten Namespace darf kein Code vorhanden sein. Der Code nach der Deklaration des Inhaltsbereichs gehört zu diesem Namespace, zum Beispiel:

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

2. Beim Aufrufen von Klassen oder Methoden in verschiedenen Räumen muss der Namespace angegeben werden. Beispiel:

<?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

3. Andere in den Namensraum eingeführte Dateien gehören nicht zu diesem Namensraum, sondern zum öffentlichen Raum oder dem in der Datei selbst definierten Namensraum. Beispiel:

Definieren Sie zunächst eine 1.php- und eine 2.php-Datei:

<?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
<?php
namespace New;require_once &#39;./2.php&#39;;new Person();      
//报错,(当前空间)找不到Person;new \Person();     
//报错,(公共空间)找不到Person;new \Two\Person();  
//输出 I am tow!;123456

4. Schauen wir uns an, wie Sie use verwenden: (use kann für zukünftige Referenzen abgekürzt werden)

   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();           //报错

Das Obige ist der PHP-Namespace-Namespace und die Importverwendung, die ich für Sie zusammengestellt habe. Ich hoffe, dass es Ihnen in Zukunft hilfreich sein wird.

Verwandte Artikel:

Häufig verwendete magische Methoden in PHP

Häufig verwendete PHP-Funktionen

Designideen und Mängel des PHP-Namespace

Das obige ist der detaillierte Inhalt vonDetaillierte Nutzungsanleitung für den PHP-Namespace-Namespace und die Importverwendung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn