Heim  >  Artikel  >  Backend-Entwicklung  >  Was ist ein PHP-Namespace?

Was ist ein PHP-Namespace?

(*-*)浩
(*-*)浩Original
2019-09-21 15:11:314048Durchsuche

Was ist ein Namespace?

Was ist ein PHP-Namespace?

Im weitesten Sinne ist ein Namespace eine Möglichkeit, Dinge zu kapseln. Diese Abstraktion ist an vielen Stellen zu finden.

Im Betriebssystem werden Verzeichnisse beispielsweise zum Gruppieren verwandter Dateien verwendet. Für die Dateien im Verzeichnis spielt es die Rolle eines Namespace. (Empfohlenes Lernen: PHP-Programmierung vom Einstieg bis zur Beherrschung)

Für ein konkretes Beispiel kann die Datei foo.txt gleichzeitig in den Verzeichnissen /home/greg und /home/other vorhanden sein Zeit, aber zwei foo.txt-Dateien können nicht im selben Verzeichnis vorhanden sein.

Außerdem müssen wir beim Zugriff auf die foo.txt-Datei außerhalb des Verzeichnisses /home/greg den Verzeichnisnamen und das Verzeichnistrennzeichen vor den Dateinamen setzen, um /home/greg/foo.txt zu erhalten. Die Anwendung dieses Prinzips auf den Bereich der Programmierung ist das Konzept des Namespace.

In PHP werden Namespaces verwendet, um zwei Arten von Problemen zu lösen, die beim Erstellen von wiederverwendbarem Code wie Klassen oder Funktionen beim Schreiben von Klassenbibliotheken oder Anwendungen auftreten:

Namenskonflikte zwischen Vom Benutzer geschriebener Code und PHP-interne Klassen/Funktionen/Konstanten oder Klassen/Funktionen/Konstanten von Drittanbietern.

Erstellen Sie einen Aliasnamen (oder Kurznamen) für einen sehr langen Bezeichnernamen (normalerweise definiert, um die erste Art von Problem zu mildern), um die Lesbarkeit des Quellcodes zu verbessern.

PHP-Namespaces bieten eine Möglichkeit, verwandte Klassen, Funktionen und Konstanten zu gruppieren. Hier ist ein Beispiel, das die PHP-Namespace-Syntax veranschaulicht:

Namespace-Syntaxbeispiel

<?php
namespace my\name; 

class MyClass {}
function myfunction() {}
const MYCONST = 1;

$a = new MyClass;
$c = new \my\name\MyClass;

$a = strlen(&#39;hi&#39;); 

$d = namespace\MYCONST; 

$d = __NAMESPACE__ . &#39;\MYCONST&#39;;
echo constant($d); 
?>

Hinweis:

heißt The PHP or PHP-Namespaces und Namespaces, die mit diesen Namen beginnen (z. B. PHPClasses), sind für die Verwendung im Sprachkernel reserviert und sollten nicht im User-Space-Code verwendet werden.

Das obige ist der detaillierte Inhalt vonWas ist ein PHP-Namespace?. 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