Espace de noms PHP : explication détaillée des noms non qualifiés, des noms qualifiés et des instances de noms complets

伊谢尔伦
Libérer: 2023-03-07 19:28:02
original
3634 Les gens l'ont consulté

Dans l'espace de noms PHP, vous devez connaître la terminologie des trois noms de l'espace : nom non qualifié, nom qualifié, nom complet , et comment PHP les analyse. Les documents officiels sont très bons, donc je les ai simplement utilisés directement. Les comprendre est très utile pour apprendre le contenu suivant. Comme nous l'avons appris plus tôt sur les sous-espaces d'espace de noms et les espaces publics , il est logique que la syntaxe d'appel de l'espace de noms soit comme un chemin de fichier. Elle nous permet de personnaliser les sous-espaces pour décrire la relation entre chaque espace. Les termes pour les trois noms dans l'espace de noms

sont les suivants :

1. Le nom non qualifié , ou Nom de classe sans préfixe, par exemple $comment = new Comment();. Si l'espace de noms actuel est BlogArticle, Comment sera analysé comme BlogArticleComment. Si le code utilisant Comment ne contient du code dans aucun espace de noms (dans l'espace global), le Comment sera analysé comme un Commentaire.

2. Nom qualifié , ou un nom contenant un préfixe, tel que $comment = new ArticleComment();. Si l'espace de noms actuel est Blog, Comment sera analysé comme BlogArticleComment. Si le code utilisant Comment ne contient du code dans aucun espace de noms (dans l'espace global), le Comment sera analysé comme un Commentaire.

3. Nom complet , ou un nom qui inclut un opérateur de préfixe global, tel que $comment = new ArticleComment();. Dans ce cas, Comment est toujours résolu par le nom littéral ArticleComment dans le code.

En fait, ces trois noms peuvent être comparés aux noms de fichiers (tels que comment.php), aux noms de chemins relatifs (tels que ./article/comment.php) et aux noms de chemins absolus (tels que /blog /article/comment. php) qui pourrait être plus facile à comprendre.

Créez un espace Blog ici, en utilisant un nom non qualifié pour représenter l'espace Blog actuel. Cet appel sera analysé après instanciation. Utilisez un nom qualifié pour indiquer qu'il est relatif à l'espace Blog. Après l'instanciation, cet appel sera analysé dans BlogArticleComment(). Notez qu'il n'y a pas de barre oblique inverse devant la classe. Utilisez un nom complet, indiquant qu'il est absolu pour l'espace Blog. Cet appel sera analysé après l'instanciation. Notez la différence entre une barre oblique inverse devant la classe et aucune barre oblique inverse.

L'exemple de code est le suivant :

<?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 { }
?>
Copier après la connexion

En fait, l'introduction précédente utilisait des noms non qualifiés et des noms complets, et maintenant ils ont enfin des noms .

Les trois noms et termes dans l'espace de noms sont appris ici. Le prochain chapitre amènera des amis à comprendre les alias et les importations dans l'espace de noms.

【Tutoriels associés recommandés】

1. "php.cn Dugu Jiujian (4) - Tutoriel vidéo PHP "

2. Espace de noms : bien que nous ayons le même nom et le même sexe, nous appartenons à des temps et des espaces différents

3 Un ensemble complet de tutoriels sur la programmation PHP dès l'entrée. à maîtriser

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal