Verwendung des PHP-Namespace

王林
Freigeben: 2023-03-06 07:28:02
Original
1546 Leute haben es durchsucht

Verwendung des PHP-Namespace: [Namespace Article;] bedeutet die Erstellung eines Namespace namens Article. Es ist zu beachten, dass vor dem ersten Namensraum der aktuellen Skriptdatei kein Code stehen darf.

Verwendung des PHP-Namespace

Einer der klarsten Zwecke von Namespaces besteht darin, das Problem doppelter Namen zu lösen. In PHP dürfen zwei Funktionen oder Klassen nicht denselben Namen haben, da sonst ein schwerwiegender Fehler auftritt. In diesem Fall kann das Problem gelöst werden, solange Sie eine doppelte Benennung vermeiden. Die häufigste Methode besteht darin, sich auf ein Präfix zu einigen.

(Empfohlenes Tutorial: php-Video-Tutorial)

Namespace unterteilt den Code in verschiedene Räume (Regionen) und die Konstanten, Funktionen und Klassen jedes Raums (um faul zu sein, ich werde sie unten Elemente nennen) Die Namen beeinflussen sich nicht gegenseitig. Dies ähnelt in gewisser Weise dem Konzept der „Kapselung“, das wir oft erwähnen.

Um einen Namespace zu erstellen, müssen Sie das Schlüsselwort namespace verwenden, etwa so:

<?php
//创建一个名为&#39;Article&#39;的命名空间
namespace Article;
?>
Nach dem Login kopieren

Es ist zu beachten, dass vor dem ersten Namespace der aktuellen Skriptdatei kein Code stehen darf:

Beispiel 1

//在脚本前面写了一些逻辑代码
<?php
$path = "/";
class Comment { }
namespace Article;
?>
Nach dem Login kopieren

Beispiel 2

</html>
<?php
namespace Article;
?>
Nach dem Login kopieren

Warum möchten Sie den ersten Namespace sagen? Weil mehrere Namespaces in derselben Skriptdatei erstellt werden können.

Ich habe unten zwei Namespaces erstellt und jedem dieser beiden Spaces ein Kommentarklassenelement hinzugefügt:

<?php
//创建一个名为&#39;Article&#39;的命名空间
namespace Article;
//此Comment属于Article空间的元素
class Comment {
}
//创建一个名为&#39;MessageBoard&#39;的命名空间
namespace MessageBoard;
//此Comment属于MessageBoard空间的元素
class Comment {
}
?>
Nach dem Login kopieren

Sie können andere Elemente zwischen verschiedenen Spaces nicht direkt aufrufen, Sie müssen die Namespace-Syntax verwenden:

<?php
namespace Article;
class Comment {
}
namespace MessageBoard;
class Comment {
}
//调用当前空间(MessageBoard)的Comment类
$comment = new Comment();
//调用Article空间的Comment类
$article_comment = new \Article\Comment();
?>
Nach dem Login kopieren

Wie Sie sehen können, Beim Aufrufen der Comment-Klasse im Artikelbereich im MessageBoard-Bereich wird eine Syntax wie ein Dateipfad verwendet: Bereichsname Elementname

Zusätzlich zu Klassen ist die Verwendung von Funktionen und Konstanten dieselbe. Nachfolgend werden neue Elemente erstellt für beide Leerzeichen und deren Werte werden im MessageBoard-Bereich ausgegeben.

<?php
namespace Article;
const PATH = &#39;/article&#39;;
function getCommentTotal() {
	return 100;
}
class Comment {
}
namespace MessageBoard;
const PATH = &#39;/message_board&#39;;
function getCommentTotal() {
	return 300;
}
class Comment {
}
//调用当前空间的常量、函数和类
echo PATH;
///message_board
echo getCommentTotal();
//300
$comment = new Comment();
//调用Article空间的常量、函数和类
echo \Article\PATH;
///article
echo \Article\getCommentTotal();
//100
$article_comment = new \Article\Comment();
?>
Nach dem Login kopieren

Dann habe ich die Elementdaten des Artikelbereichs erhalten.

Verwandte Empfehlungen: php-Training

Das obige ist der detaillierte Inhalt vonVerwendung des PHP-Namespace. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage