Nutzung von Namespaces

Ein Namespace kann genutzt werden, indem dessen Datei, in welchem er deklariert ist, inkludiert wird. Dann wird der Namespace unter myNamespace wie deklariert verfügbar und wird der Funktion vorangestellt. Namespaces lasse sich nicht nur in einfacher Ebene deklarieren, sondern Sie können Subnamespaces von Namespaces deklarieren. Mitunter kann dadurch der Name für den Namespace recht lang werden. Dieser lässt sich kürzen, indem man mit use ... as dem Namespace ein Alias zuweist, wie auch dies im folgenden Beispiel gezeigt wird:

Einzig und allein Klassen können mit dem use ... as-Konstrukt direkt adressiert werden. Dies funktioniert, indem der Namespace wie oben gezeigt in der Datei bib.php deklariert wird:

Dann lässt sich diese Klasse direkt referenzieren und innerhalb des Hauptprogrammes müssen Sie keinen Namespace-Alias angeben:

Befindet man sich in einem Namespace, so lassen sich andere danebenstehende Namespaces nur über eine absolute Pfadangabe aufrufen. Beispielsweise referenziert das folgende Programm eine Funktion in einem anderen Namespace:

Den im vorherigen Abschnitt deklarierten Namespace second, welcher im Namespace first eingebettet ist, lässt sich ganz ähnlich ansprechen:

Wenn sich der aktuelle Programmcode in einem Namespace befindet, dann lässt sich mit einem Backslash (\) der Wurzelnamespace ansprechen, in welchem alle PHP-Standardfunktionen deklariert sind, zum Beispiel:

Wenn allerdings eine Funktion oder Konstante in dem aktuellen Namespace nicht deklariert ist, dann wird automatisch in den Wurzelnamespace gesprungen. Dies gilt allerdings nicht für Klassen.

Eine magische Konstante __NAMESPACE__ ist immer definiert. Befindet man sich in dem Wurzel-Namespace, so ist diese Konstante leer. Ansonsten befindet sich der Name des Namespaces, in welchem das Programm aktuell ist, in dieser Konstante.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert