Heim Backend-Entwicklung PHP-Tutorial Deklaration und Verwendung von Namespaces in PHP

Deklaration und Verwendung von Namespaces in PHP

Jun 28, 2018 pm 03:52 PM

* Deklaration und Verwendung des Namespace

* 1. Verwenden Sie Schlüsselwörter: Namespace

* 2.php5.3+

* 3. Namespace darf nicht vor jedem Code existieren außer Deklarationen und Kommentaren, noch HTML

* 4. Der Namespace beginnt standardmäßig an der globalen Position, und der globale Raum wird durch dargestellt, ähnlich dem Stammverzeichnis

* 5. Wenn Wenn das Skript einen Namensraum deklariert, muss der Zugriff auf alle Mitglieder den Namensraum verwenden, einschließlich der Systemfunktionen

//1. Deklarieren Sie einen Namensraum

namespace one;
class Demo{public $name='Peter Zhu';}
const SITE='PHP中文网';
function add($a,$b){return $a+$b;}
Nach dem Login kopieren


//Wenn ich eine Klasse mit demselben Namen deklarieren möchte, können Konstanten und Funktionen einen anderen Namespace deklarieren

//2. In einem Skript sind mehrere Namespaces zulässig

//Deklarieren Sie einen Namespace: Zweitens, verwenden Sie tow als Referenz

namespace two;
Nach dem Login kopieren

//Deklarieren Sie nun die Klasse Demo, die Konstante SITE und die Funktion add, es wird keinen Konflikt geben

class Demo{public $name='朱老师';}
const  SITE = 'www.php.cn';
function add($a,$b){return $a+$b;}
Nach dem Login kopieren

//Ich glaube, Sie können es sehen, das hier ist sehr ähnlich. In verschiedenen Verzeichnissen dürfen Dateien mit demselben Namen erstellt werden.

echo (new Demo)->name, &#39;<br>&#39;; //默认输出的是当前空间的内容
Nach dem Login kopieren

//Überprüfen Sie, was der aktuelle Namespace ist: __NAMESPACE__

echo &#39;当前命名空间是: &#39;,__NAMESPACE__,&#39;<br>&#39;;
Nach dem Login kopieren

//Außerdem können Sie den aktuellen Namensraum mitbringen, um auf Mitglieder im aktuellen Raum zuzugreifen

//Einen Klassennamen mit dem aktuellen Namensraum generieren

$className = __NAMESPACE__.&#39;\Demo&#39;;
echo (new $className)->name,&#39;<br>&#39;;
Nach dem Login kopieren

//Sie können den vollständigen Namensraum mitbringen Name, vom globalen Raum ausgehend, entspricht dem Start vom Stammverzeichnis

//Fachterminologie: vollständig qualifizierter Name

echo (new \two\Demo)->name, &#39;<hr>&#39;;
Nach dem Login kopieren

//3. Wie erreiche ich einen raumübergreifenden Zugriff?

//Wenn wir auf die Attribute in der Demo-Klasse in Space One zugreifen möchten, wie gehen wir vor?

//Space-übergreifender Zugriff, wie verzeichnisübergreifender Zugriff auf Dateien, muss sein vollständiger Leerzeichenpfad

//Zum Beispiel möchten wir auf die Mitglieder in der Klasse Demo in einem Leerzeichen zugreifen

echo &#39;one空间的类成员:&#39;,(new \one\Demo)->name,&#39;<br>&#39;;
Nach dem Login kopieren

//4. In einem Skript, das einen Namespace deklariert, wie man darauf zugreift die vom System vordefinierten Methoden?

// Beispielsweise wird ein Array mit nur einem Zeichen deklariert

$welcome = &#39;php中文网欢迎您&#39;;
\print_r($welcome); echo &#39;<br>&#39;;
print($welcome); echo &#39;<hr>&#39;;
Nach dem Login kopieren

//Wir haben gerade gesagt, dass der Zugriff auf globale Mitglieder im Bereich hinzugefügt werden muss hier hinzugefügt?

//Denn wenn der Benutzer nicht über „Hinzufügen“ verfügt, wird zuerst in diesem Bereich nach der Funktion var_dump() gesucht,

//Wenn sie nicht gefunden wird wird dann im globalen Raum suchen, sodass kein Fehler gemeldet wird

//Aber wenn wir in Wenn eine var_dump()-Funktion auch im aktuellen zwei Raum erstellt wird, wird nur die benutzerdefinierte var_dump() im aktuellen Bereich wird ausgeführt.

function print_r($arg)
{
    echo &#39;我是当前空间声明的函数调用:&#39;.$arg;
}
print_r($welcome); echo &#39;<br>&#39;;
Nach dem Login kopieren

//Äquivalente Aufrufsyntax:

\two\print_r($welcome);
Nach dem Login kopieren
Nach dem Login kopieren

//Hinweis: Dieses print_r() hat nichts mit dem integrierten print_r() des Systems zu tun. Es hat einfach den gleichen Namen

//Genau wie in Shanghai gibt es eine Jangtse-Flussstraße, und es gibt auch eine Jangtse-Flussstraße in Hefei. Abgesehen vom gleichen Namen haben diese beiden Straßen überhaupt keine Beziehung

// Yangtze River Road, Baoshan District, Shanghai

// Luyang District, Hefei City Yangtze River Road

// Ich glaube, niemand wird denken, dass dies dasselbe ist Straße?

//Tatsächlich sollte die vollständige Aufrufanweisung dieser beiden Funktionen so aussehen:

//1 Aufruf des Systems:

\print_r($welcome);
Nach dem Login kopieren

//2 . Aufruf des aktuellen Space:

\two\print_r($welcome);
Nach dem Login kopieren
Nach dem Login kopieren

//Obwohl die Namen gleich sind, ist der Besitz unterschiedlich

Das obige ist der detaillierte Inhalt vonDeklaration und Verwendung von Namespaces in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP-Fehler beheben: Die angegebene Namespace-Klasse wurde nicht gefunden PHP-Fehler beheben: Die angegebene Namespace-Klasse wurde nicht gefunden Aug 18, 2023 pm 11:28 PM

PHP-Fehler beheben: Die angegebene Namespace-Klasse wurde nicht gefunden. Bei der Entwicklung mit PHP treten häufig verschiedene Fehlermeldungen auf. Einer der häufigsten Fehler ist „Die angegebene Namespace-Klasse wurde nicht gefunden“. Dieser Fehler wird normalerweise dadurch verursacht, dass auf die importierte Klassendatei nicht ordnungsgemäß auf den Namespace verwiesen wird. In diesem Artikel wird erläutert, wie Sie dieses Problem lösen können, und es werden einige Codebeispiele bereitgestellt. Schauen wir uns zunächst ein Beispiel für eine häufige Fehlermeldung an: Fatalerror:UncaughtError:C

Wie verwende ich den Namespace im F3-Framework? Wie verwende ich den Namespace im F3-Framework? Jun 03, 2023 am 08:02 AM

Das F3-Framework ist ein einfaches, benutzerfreundliches, flexibles und skalierbares PHPWeb-Framework. Sein Namespace-Mechanismus bietet uns eine standardisiertere, besser lesbare und klarere Codestruktur. In diesem Artikel untersuchen wir, wie Namespaces im F3-Framework verwendet werden. 1. Was ist ein Namespace? Namespaces werden häufig verwendet, um das Problem von Namenskonflikten in PHP zu lösen. Er kann eine oder mehrere Klassen, Funktionen oder Konstanten in einem Namespace kapseln, was dem Hinzufügen eines Präfixes entspricht. Beispiel

Designideen und Implementierungsmethoden für den Redis-Namespace und den Ablaufmechanismus Designideen und Implementierungsmethoden für den Redis-Namespace und den Ablaufmechanismus May 11, 2023 am 10:40 AM

Redis ist eine Open-Source-Hochleistungs-Schlüsselwertspeicherdatenbank. Wenn wir Redis zur Datenspeicherung verwenden, müssen wir das Design des Schlüsselnamensraums und des Ablaufmechanismus berücksichtigen, um die Leistung und Datenintegrität von Redis aufrechtzuerhalten. In diesem Artikel werden die Designideen und Implementierungsmethoden des Redis-Namespace und des Ablaufmechanismus vorgestellt. 1. Designideen für Redis-Namespaces In Redis können Schlüssel beliebig festgelegt werden. Um die Verwaltung und Unterscheidung verschiedener Datentypen zu erleichtern, führt Redis das Konzept des Namespace ein. Leben

C++-Syntaxfehler: Undefinierter Namespace verwendet, wie gehe ich damit um? C++-Syntaxfehler: Undefinierter Namespace verwendet, wie gehe ich damit um? Aug 21, 2023 pm 09:49 PM

C++ ist eine weit verbreitete Programmiersprache auf hoher Ebene. Sie verfügt über eine hohe Flexibilität und Skalierbarkeit, erfordert jedoch auch, dass Entwickler ihre grammatikalischen Regeln strikt beherrschen, um Fehler zu vermeiden. Einer der häufigsten Fehler ist die „Verwendung eines undefinierten Namespace“. In diesem Artikel wird erläutert, was dieser Fehler bedeutet, warum er auftritt und wie er behoben werden kann. 1. Wozu dient ein undefinierter Namespace? In C++ sind Namespaces eine Möglichkeit, wiederverwendbaren Code zu organisieren, um ihn modular und lesbar zu halten. Sie können Namespaces verwenden, um Funktionen mit demselben Namen zu erstellen

Beispiel für neue Funktionen in PHP8: Wie kann man Namespaces und Codes verwenden, um die Codestruktur besser zu organisieren? Beispiel für neue Funktionen in PHP8: Wie kann man Namespaces und Codes verwenden, um die Codestruktur besser zu organisieren? Sep 11, 2023 pm 12:22 PM

Beispiel für neue Funktionen in PHP8: Wie kann man Namespaces und Codes verwenden, um die Codestruktur besser zu organisieren? Einführung: PHP8 ist eine wichtige Version der Programmiersprache PHP, die viele aufregende neue Funktionen und Verbesserungen einführt. Eine der wichtigsten Neuerungen sind Namespaces. Namespaces sind eine Möglichkeit, Ihren Code in einer besseren Struktur zu organisieren, die Konflikte zwischen Klassen, Funktionen und Konstanten mit demselben Namen vermeidet. In diesem Artikel schauen wir uns an, wie Sie Namespaces und Codes nutzen können, um Ihren PHP8-Code besser zu strukturieren

Methoden zum Beheben von PHP-Namespace-Fehlern und zum Generieren entsprechender Fehlermeldungen Methoden zum Beheben von PHP-Namespace-Fehlern und zum Generieren entsprechender Fehlermeldungen Aug 07, 2023 pm 05:16 PM

So beheben Sie PHP-Namespace-Fehler und generieren entsprechende Fehlermeldungen. PHP ist eine weit verbreitete serverseitige Skriptsprache, die zur Entwicklung von Webanwendungen verwendet wird. In PHP ist Namespace (Namespace) ein Mechanismus zum Verwalten und Organisieren von Code, der Namenskonflikte vermeiden und die Lesbarkeit und Wartbarkeit des Codes verbessern kann. Allerdings führt die Komplexität der Namespace-Definition und -Nutzung manchmal zu Fehlern. In diesem Artikel werden einige Methoden zum Beheben von PHP-Namespace-Fehlern und zum Generieren entsprechender Fehlermeldungen vorgestellt. 1. Namensraum

Neue Funktion in PHP 5.4: So verwenden Sie Namespace-Aliase, um Klassennamenaufrufe zu vereinfachen Neue Funktion in PHP 5.4: So verwenden Sie Namespace-Aliase, um Klassennamenaufrufe zu vereinfachen Jul 29, 2023 pm 11:45 PM

Neue Funktionen in PHP 5.4: So verwenden Sie Namespace-Aliase, um Klassennamenaufrufe zu vereinfachen. Die in PHP 5.3 eingeführte Namespace-Funktion bietet uns eine bessere Möglichkeit, Code zu organisieren und zu verwalten. Durch die Organisation verwandter Klassen, Funktionen und Konstanten in Namespaces können Namenskonflikte zwischen verschiedenen Modulen effektiv vermieden werden. In der PHP5.4-Version wurde die Funktion des Namespace-Alias ​​(Namespacealias) eingeführt, die unseren Aufruf weiter erleichtert

Eine Namespace-Odyssee: Erkundung des modularen Paradieses von PHP Eine Namespace-Odyssee: Erkundung des modularen Paradieses von PHP Mar 10, 2024 am 09:04 AM

Namespaces: Modularitätsparadies Bei der Softwareentwicklung ist Wartbarkeit ein entscheidender Faktor. Da Ihre Codebasis weiter wächst, ist die Organisation und Kapselung Ihres Codes für die Bewältigung der Komplexität von entscheidender Bedeutung. Zu diesem Zweck sind Namespaces in PHP konzipiert. Konzept des Namespace Ein Namespace ist eine Sammlung logisch zusammengehöriger Bezeichner. Es bietet einen Mechanismus zum Organisieren von Klassen, Funktionen und Konstanten in bestimmten Domänen. Namespaces beseitigen Namenskonflikte, indem sie jeder Entität einen eindeutigen Namen geben und verhindern, dass verschiedene Klassen oder Funktionen denselben Namen haben. Die Syntax des Namespace ist in PHP. Der Namespace wird mit Backslash () definiert: namespaceMyProjectDatabase; der obige Code erstellt eine Datei mit dem Namen „MyProject

See all articles