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.
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 //创建一个名为'Article'的命名空间 namespace Article; ?>
Es ist zu beachten, dass vor dem ersten Namespace der aktuellen Skriptdatei kein Code stehen darf:
Beispiel 1
//在脚本前面写了一些逻辑代码 <?php $path = "/"; class Comment { } namespace Article; ?>
Beispiel 2
</html> <?php namespace Article; ?>
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 //创建一个名为'Article'的命名空间 namespace Article; //此Comment属于Article空间的元素 class Comment { } //创建一个名为'MessageBoard'的命名空间 namespace MessageBoard; //此Comment属于MessageBoard空间的元素 class Comment { } ?>
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(); ?>
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 = '/article'; function getCommentTotal() { return 100; } class Comment { } namespace MessageBoard; const PATH = '/message_board'; 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(); ?>
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!