Namespace (im Folgenden als ns bezeichnet). Nach der Definition eines ns befinden sich die unten deklarierte Klasse, die Schnittstelle und die Konstante (ausgenommen Variablen) alle in der „Domäne“ des deklarierten ns. Wenn auf eine Include-Datei verweist, die ns deklariert, und wenn Sie Dinge in diesem ns aufrufen möchten, müssen Sie das aktuelle Skript an diese ns-Domäne anpassen, andernfalls müssen Sie die vollständige verwenden name (), um den vollständigen Namen von ns einzuschließen:
[php] view plain copy // inc.php namespace Foo; class Bar {} // 访问Foo的第一种方法,用全称 require 'inc.php'; $foo = new \Foo\Bar(); // 访问Foo的第二种方法 namespace Foo; // 调整当前脚本到Foo这个ns域,而且namespace申明必须在第一句 require 'inc.php'; $foo = new Bar();
Der Zweck des Schlüsselworts use besteht darin, den Alias von ns zu verwenden:
[php] view plain copy // 比如 use A\Very\Long\Namespace as Ns; // 这样就可以用Ns来代替A/Very/Long/Namespace这个ns下定义的东西 $foo = new Ns\Foo();
In einigen Open-Source-Projekten verwenden wir jedoch Ich sehe oft die Verwendung von „use NsComponent“ ohne „using as“, weshalb ich darüber nachgedacht habe, ob es eine zweite Verwendung von „use“ gibt. Das Schlimme ist, dass es in der PHP-Dokumentation keine Beschreibung dieser Verwendung gibt, auf die ich mich nur verlassen kann Nachdem ich über dieses Problem sorgfältig nachgedacht hatte, kam ich zu einer zuverlässigeren Schlussfolgerung: Die Verwendung kann die folgenden Aliase weglassen und den Namen des letzten Knotens von ns direkt als Alias verwenden Befehl:
[php] view plain copy // 第三种用法 require 'inc.php'; use Foo\Bar; // 这样Bar就等于Foo\Bar了 $foo = new Bar();
Das Obige ist der Namespace und der Namespace, die ich für alle zusammengestellt habe. Verwenden Sie bestimmte Verwendungsmethoden. Ich hoffe, dass dies in Zukunft für alle hilfreich sein wird.
Verwandte Artikel:
Detaillierte Verwendung in der PHP-Closure-Funktion() use()
PHP-Namespace Detaillierte Nutzungsanleitung für Namespace und importierte Verwendung
Detaillierte Erläuterung des PHP-Liskov-Ersetzungsfalls
Das obige ist der detaillierte Inhalt vonSpezifische Verwendungsmethoden für Namespace und Verwendung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!