Heim > Artikel > Backend-Entwicklung > Detaillierte Nutzungsanleitung für den PHP-Namespace-Namespace und die Importverwendung
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 'Please study!'; } }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 'Please study!<br/>'; } } function Person(){ return 'You must stay here!'; }; namespace Student; class Person{ function __construct(){ echo 'I want to play!<br/>'; } } 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 'I am one!<br/>'; } }123456 <?phpnamespace Newer;require_once './1.php';new Person(); //报错,找不到Person;new \Person(); //输出 I am tow!;12345 <?php //2.phpnamespace Twoclass Person{ function __construct(){ echo 'I am tow!<br/>'; } }1234567
<?php namespace New;require_once './2.php';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 'Listen to teachers!<br/>'; } } namespace School\Teacher; class Person{ function __construct(){ echo 'Please study!<br/>'; } } namespace School\Student; class Person{ function __construct(){ echo 'I want to play!<br/>'; } } 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!