Heim Backend-Entwicklung PHP-Tutorial Was ist ein Namensraum? Grundlegende Anwendungsfreigabe des PHP-Namespace

Was ist ein Namensraum? Grundlegende Anwendungsfreigabe des PHP-Namespace

May 18, 2017 am 11:32 AM

Was ist ein Namespace?

Die Namen von in PHP deklarierten Funktionen, Klassen und Konstanten dürfen nicht im selben Lauf wiederholt werden, da sonst ein schwerwiegender Fehler auftritt. Eine gängige Lösung besteht darin, sich auf ein Präfix zu einigen. Während der Projektentwicklung ist es beispielsweise nicht möglich, dass sowohl der Controller als auch das Datenmodell im Benutzermodul dieselbe Benutzerklasse deklarieren. Sie müssen ihre jeweiligen Funktionspräfixe vor dem Klassennamen hinzufügen. Sie können die User-Klasse im Controller als ActUser-Klasse und die User-Klasse im Datenmodell als ModelUser-Klasse bezeichnen. Obwohl dieses Problem durch Hinzufügen eines Präfixes gelöst werden kann, wird der Name zu lang, was bedeutet, dass während der Entwicklung mehr Code geschrieben wird. In Versionen nach PHP5.3 wurden viele andere Hochsprachen (wie Java, C# usw.) hinzugefügt, um sehr ausgereifte Funktionen zu verwenden ----- Namespace Einer seiner klarsten Zwecke besteht darin, das Problem zu lösen von doppelten Namen. Namespaces unterteilen den Code in verschiedene Bereiche, und die Namen der Konstanten, Funktionen und Klassen in den einzelnen Bereichen beeinflussen sich nicht gegenseitig.

Hinweis: Konstanten haben sich seit PHP5.3 geändert. Sie können das Schlüsselwort const verwenden, um Konstanten außerhalb der Klasse zu deklarieren. Obwohl const und define beide zum Deklarieren von Konstanten verwendet werden, wirkt define in einem Namespace global, während const auf den aktuellen Raum wirkt. Die hier genannten Konstanten beziehen sich auf -Konstanten, die mit const deklariert wurden.

Die Rolle und Funktion von Namespaces ist sehr leistungsstark. Sie müssen sich beim Schreiben von Plug-Ins oder allgemeinen Bibliotheken keine Sorgen mehr über doppelte Namen machen. Wenn das Projekt jedoch ein bestimmtes Niveau erreicht und das Problem doppelter Namen durch Hinzufügen von Namespaces gelöst werden muss, wird der Arbeitsaufwand nicht geringer sein als bei der Umgestaltung von Namen. Daher sollte eine Namenskonvention von Beginn des Projekts an gut geplant und festgelegt werden.

Grundlegende Anwendung von Namespaces

Standardmäßig werden alle Deklarationen von Konstanten, Klassen und Funktionen in PHP im globalen Raum platziert. Versionen nach PHP5.3 verfügen über separate Leerzeichendeklarationen, und derselbe Name in verschiedenen Leerzeichen führt nicht zu Konflikten. Unabhängige Namespaces werden mit dem Schlüsselwort namespace deklariert.

Der Code lautet wie folgt:

<?php
 //声明这段代码的命名空间
 namespace abc;
 // 这里是代码
?>
Nach dem Login kopieren

Hinweis: Der Namespace muss oben im PHP-Skript geschrieben werden und muss die erste PHP-Anweisung sein. nicht bevor Namespace Nicht-PHP-Code, HTML oder Leerzeichen angezeigt werden.

Ab dem Code-Namespace abc gibt es ein unabhängiges Leerzeichen, bis der nächste Namespace erscheint oder das Skript endet. Benennen Sie dieses Leerzeichen abc.

Wenn Sie einen Namespace oder mehrere Namespaces für denselben Code definieren, ist dies nicht möglich. Wenn mehrere Namespaces zusammen verwendet werden, wird nur der letzte Namespace erkannt, aber Sie können im selben Code verschiedene Namespace-Codes definieren die Datei.

Der Code lautet wie folgt:

<?php
namespace project1;
class user{
  //此 user 属于project1 空间的类
}
namespace project2;
class user{
 //此 user 属于project2 空间的类
}
// 上面的替代语法,另一种声明方法
namespace project3{
   //命名空间  project3 下的代码
}
?>
Nach dem Login kopieren

Der obige Code ist zwar machbar, wenn separate Benutzerklassen in verschiedenen Namespaces verwendet werden, aber es Es wird empfohlen, für jede unabhängige Datei nur einen Namensraum zu definieren, damit die Lesbarkeit des Codes optimal ist. Im selben Raum können Sie jedes Element in Ihrem eigenen Raum direkt aufrufen, aber Sie können keine Elemente in anderen Räumen zwischen verschiedenen Räumen direkt aufrufen. Sie müssen die Namespace-Syntax verwenden. Der Code lautet wie folgt:

<?php
namespace project1;
const test = "这是一个常量<br>";
function demo(){
 echo "这是一个函数<br>";
}
class user {
 function fun(){
   echo "这是一个 user 类";
 }
}
echo test;      //在自己的命名空间中直接使用常量
demo();         //在自己的命名空间中直接调用函数
/***************   project2   ******************/
namespace project2;
const test2 = "这也是一个常量<br>";
echo test2;
\project1\demo();      //调用 project1 空间中的 demo()
$user = new\project1\user();  //使用 project1 空间的类实例化对象
$user->fun();
?>
Nach dem Login kopieren

Im obigen Beispiel werden zwei Leerzeichen, Projekt1 und Projekt2, deklariert. Sie können die in diesem Leerzeichen deklarierten Elemente direkt in Ihrem eigenen Leerzeichen aufrufen und die Elemente in aufrufen project1 in project2. Elemente verwenden eine ähnliche Syntax wie Dateipfade und Space-Namen und Elementnamen . Die Verwendung ist die gleiche für Klassen, Funktionen und Konstanten.

【Empfohlene verwandte Tutorials】

1. "php.cn Dugu Jiujian (4) - PHP-Video-Tutorial

2.

Namensraum: Obwohl wir den gleichen Namen und das gleiche Geschlecht haben, gehören wir zu einer anderen Zeit und einem anderen Raum

3

Eine vollständige Reihe von Tutorials zur PHP-Programmierung von Anfang an zur Meisterschaft

Das obige ist der detaillierte Inhalt vonWas ist ein Namensraum? Grundlegende Anwendungsfreigabe des PHP-Namespace. 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
4 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 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

CakePHP Datum und Uhrzeit CakePHP Datum und Uhrzeit Sep 10, 2024 pm 05:27 PM

Um in cakephp4 mit Datum und Uhrzeit zu arbeiten, verwenden wir die verfügbare FrozenTime-Klasse.

Besprechen Sie CakePHP Besprechen Sie CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP ist ein Open-Source-Framework für PHP. Es soll die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich vereinfachen. CakePHP basiert auf einer MVC-ähnlichen Architektur, die sowohl leistungsstark als auch leicht zu verstehen ist. Modelle, Ansichten und Controller gu

CakePHP-Datei hochladen CakePHP-Datei hochladen Sep 10, 2024 pm 05:27 PM

Um am Datei-Upload zu arbeiten, verwenden wir den Formular-Helfer. Hier ist ein Beispiel für den Datei-Upload.

CakePHP erstellt Validatoren CakePHP erstellt Validatoren Sep 10, 2024 pm 05:26 PM

Der Validator kann durch Hinzufügen der folgenden zwei Zeilen im Controller erstellt werden.

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein Dec 20, 2024 am 11:31 AM

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

CakePHP-Kurzanleitung CakePHP-Kurzanleitung Sep 10, 2024 pm 05:27 PM

CakePHP ist ein Open-Source-MVC-Framework. Es erleichtert die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich. CakePHP verfügt über eine Reihe von Bibliotheken, um die Überlastung der häufigsten Aufgaben zu reduzieren.

Wie analysiert und verarbeitet man HTML/XML in PHP? Wie analysiert und verarbeitet man HTML/XML in PHP? Feb 07, 2025 am 11:57 AM

Dieses Tutorial zeigt, wie XML -Dokumente mit PHP effizient verarbeitet werden. XML (Extensible Markup-Sprache) ist eine vielseitige textbasierte Markup-Sprache, die sowohl für die Lesbarkeit des Menschen als auch für die Analyse von Maschinen entwickelt wurde. Es wird üblicherweise für die Datenspeicherung ein verwendet und wird häufig verwendet

See all articles