Die Struktur eines Namensraums ist der eines Dateisystems sehr ähnlich. Ordner können Unterordner haben, und Namensräume können auch Unterräume definieren, um die Eigentumsverhältnisse zwischen Räumen zu beschreiben. Im vorherigen Kapitel wurde vorgestellt: Was ist ein Namespace? Neben der grundlegenden Anwendung des PHP-Namespace beginnen wir hier, den Unterraum und den öffentlichen Raum des Namespace zu verstehen.
Veranschaulichen Sie anhand des folgenden Beispiels, was Unterraum ist
Zum Beispiel befinden sich die beiden Module Warenkorb und Bestellung beide im selben Shop-Projekt. Ausdruck von Beziehungen durch Namespace-Unterräume.
Der Code lautet wie folgt:
<?php namespace shop\cart; //命名空间表示处于 shop 项目下的 cart class Test { } namespace shop\order; //命名空间表示处于 shop 项目下的 order class Test { //申明与上面空间相同的类 } $test =new Test(); //调用当前的类 $cart = new \shop\cart\Test(); //调用shop\cart空间的类 ?>
Der Unterraum des Namespace kann auch viele Ebenen definieren, z. B. cnmywwwshop. Mehrstufige Subspace-Ansprüche werden häufig unter Verwendung des invertierten Unternehmensdomänennamens, gefolgt vom Projektnamen, geltend gemacht. Dies hat den Vorteil, dass der Domainname im Internet nicht wiederholt wird, es im Internet keine Namensräume mit demselben Namen gibt und Sie auch erkennen können, um welches konkrete Projekt es sich um ein Unternehmen handelt. Es hat eine starke Werbewirkung.
Öffentlicher Raum im Namespace
Der öffentliche Raum im Namespace ist leicht zu verstehen. Tatsächlich gibt es keine Methoden, keine Klassenbibliotheken und Klassenbibliotheken, die den Namespace definieren, gehören standardmäßig zum öffentlichen Bereich, was erklärt, dass der größte Teil des in früheren Versionen geschriebenen Codes in PHP5.3 und späteren Versionen ausgeführt werden kann. Nachdem das Codesegment im öffentlichen Raum in einen bestimmten Namespace eingeführt wurde, gehört das Codesegment im öffentlichen Raum außerdem zu keinem Namespace. Deklarieren Sie beispielsweise eine Skriptdatei common.php und deklarieren Sie Funktionen und Klassen in der Datei.
Der Code lautet wie folgt:
<?php function fun(){ } class Demo{ } ?>
Erstellen Sie eine weitere PHP-Datei und führen Sie diese Skriptdatei common.php in einen Namespace ein, sie kann jedoch mit Skripts versehen werden. Die Klassen und Funktionen in gehören nicht zu diesem Namespace. Wenn in diesem Skript keine anderen Namensräume definiert sind, liegen seine Elemente immer im öffentlichen Raum.
Der Code lautet wie folgt:
<?php namespace cn\my; include 'common.php'; //引入当前目录下的文件 $demo = new Demo; //出现致命错误:找不到 cn\my\Demo类 $demo = new \Demo(); //正确的方式 加上 \ var_dump(); // 错误,系统函数在公共空间 \var_dump(); // 正确,使用了 \ ?>
Hinweis: Um den öffentlichen Raum aufzurufen, fügen Sie direkt davor ein Elementname, sonst geht der PHP-Parser davon aus, dass der Benutzer das Element unter dem aktuellen Leerzeichen aufruft. Neben benutzerdefinierten Elementen gibt es auch mit PHP gelieferte Elemente, die alle zum öffentlichen Bereich gehören. Tatsächlich können Funktionen und Konstanten im öffentlichen Raum normal aufgerufen werden, ohne dass hinzugefügt werden muss. Um den Bereich, in dem sich das Element befindet, korrekt zu unterscheiden, wird jedoch empfohlen, beim Aufrufen der Funktion hinzuzufügen.
Die Unterräume und öffentlichen Räume des Namensraums werden hier vorgestellt. Im nächsten Abschnitt werden Ihnen die drei Namen und Begriffe im Namensraum vorgestellt.
【Empfohlene Tutorials】
1. "php.cn Dugu Jiujian (4) - PHP-Video-Tutorial
2 Tutorial: Namespace: Obwohl wir den gleichen Namen und das gleiche Geschlecht haben, gehören wir zu unterschiedlichen Zeiten und Räumen
Eine vollständige Reihe von Tutorials zur PHP-Programmierung vom Einstieg bis zum Meister
Das obige ist der detaillierte Inhalt vonPHP-Namespace: Detaillierte Erläuterung von Subspace- und Public-Space-Instanzen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!