Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Namespace: Detaillierte Erläuterung von nicht qualifizierten Namen, qualifizierten Namen und vollständig qualifizierten Namensinstanzen

PHP-Namespace: Detaillierte Erläuterung von nicht qualifizierten Namen, qualifizierten Namen und vollständig qualifizierten Namensinstanzen

伊谢尔伦
伊谢尔伦Original
2017-05-18 15:51:503565Durchsuche

Im PHP-Namespace müssen Sie die Terminologie der drei Namen des Raums kennen: unqualifizierter Name, qualifizierter Name, vollständig qualifizierter Name und wie PHP sie analysiert. Die offiziellen Dokumente sind sehr gut, daher habe ich sie direkt verwendet, um sie zu verstehen, was für das Erlernen der folgenden Inhalte sehr hilfreich ist. Wie wir zuvor über Namespace-Subspaces und öffentliche Räume erfahren haben, ist es sinnvoll, dass die Namespace-Aufrufsyntax einem Dateipfad ähnelt. Dadurch können wir Subspaces anpassen, um die Beziehung zwischen den einzelnen Spaces zu beschreiben. Die Begriffe für die drei Namen im

-Namensraum lauten wie folgt:

1 Der unqualifizierte Name , oder Klassenname ohne Präfix, zum Beispiel $comment = new Comment();. Wenn der aktuelle Namespace BlogArticle ist, wird Comment als BlogArticleComment analysiert. Wenn der Code, der Kommentar verwendet, keinen Code in einem Namensraum (im globalen Raum) enthält, wird der Kommentar als Kommentar analysiert.

2. Qualifizierter Name oder ein Name, der ein Präfix enthält, z. B. $comment = new ArticleComment();. Wenn der aktuelle Namespace Blog ist, wird Comment als BlogArticleComment analysiert. Wenn der Code, der Kommentar verwendet, keinen Code in einem Namensraum (im globalen Raum) enthält, wird der Kommentar als Kommentar analysiert.

3. Vollständig qualifizierter Name oder ein Name, der einen globalen Präfixoperator enthält, z. B. $comment = new ArticleComment();. In diesem Fall wird Comment im Code immer als Literalname ArticleComment geparst.

Tatsächlich können diese drei Namen mit Dateinamen (z. B. comment.php), relativen Pfadnamen (z. B. ./article/comment.php) und absoluten Pfadnamen (z. B. /blog) verglichen werden /article/comment.php), was möglicherweise einfacher zu verstehen ist.

Erstellen Sie hier einen Blog-Bereich und verwenden Sie einen nicht qualifizierten Namen, um den aktuellen Blog-Bereich darzustellen. Dieser Aufruf wird nach der Instanziierung analysiert. Verwenden Sie einen qualifizierten Namen, um anzugeben, dass er relativ zum Blog-Bereich ist. Nach der Instanziierung wird dieser Aufruf in BlogArticleComment() geparst. Beachten Sie, dass vor der Klasse kein Backslash steht. Verwenden Sie einen vollständig qualifizierten Namen, der angibt, dass er sich auf den Blog-Bereich bezieht. Dieser Aufruf wird nach der Instanziierung geparst. Beachten Sie den Unterschied zwischen einem Backslash vor der Klasse und keinem Backslash.

Der Beispielcode lautet wie folgt:

<?php
//创建空间Blog
namespace Blog;
class Comment { }
//非限定名称,表示当前Blog空间
//这个调用将被解析成 Blog\Comment();
$blog_comment = new Comment();
//限定名称,表示相对于Blog空间
//这个调用将被解析成 Blog\Article\Comment();
$article_comment = new Article\Comment(); //类前面没有反斜杆\
//完全限定名称,表示绝对于Blog空间
//这个调用将被解析成 Blog\Comment();
$article_comment = new \Blog\Comment(); //类前面有反斜杆\
//完全限定名称,表示绝对于Blog空间
//这个调用将被解析成 Blog\Article\Comment();
$article_comment = new \Blog\Article\Comment(); //类前面有反斜杆\
//创建Blog的子空间Article
namespace Blog\Article;
class Comment { }
?>

Tatsächlich wurden in der vorherigen Einführung unqualifizierte Namen und vollständig qualifizierte Namen verwendet, und jetzt gibt es endlich Namen .

Die drei Namen und Begriffe im Namespace werden hier gelernt. Im nächsten Kapitel werden Freunde die Aliase und Importe im Namespace verstehen.

【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 vonPHP-Namespace: Detaillierte Erläuterung von nicht qualifizierten Namen, qualifizierten Namen und vollständig qualifizierten Namensinstanzen. 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