Maison >développement back-end >Problème PHP >Comment définir l'espace dans l'espace de noms php ?

Comment définir l'espace dans l'espace de noms php ?

醉折花枝作酒筹
醉折花枝作酒筹original
2021-07-30 10:14:421682parcourir

Cet article commencera à présenter les espaces de noms. Les espaces de noms sont un moyen d’encapsuler des choses, et ce concept abstrait peut être vu à de nombreux endroits. Aujourd'hui nous allons le présenter, vous pouvez vous y référer si nécessaire.

Tout d’abord, comprenons ce qu’est un espace de noms. (Si nécessaire, veuillez vous référer à PHP Namespace)

En PHP, les espaces de noms peuvent résoudre les problèmes rencontrés lors de l'écriture de bibliothèques de classes ou d'applications (telles que des classes ou des fonctions) et de la création de code réutilisable :

  • Le nom du code écrit par l'utilisateur est en conflit avec le nom de la classe/fonction/constante en PHP ou avec le nom de la classe/fonction/constante tierce.

  • Créez un alias (ou une abréviation) pour les noms d'identifiants très longs écrits par l'utilisateur, améliorant ainsi la lisibilité du code source.

L'espace de noms de PHP fournit un moyen de regrouper les classes, fonctions et constantes associées.

Entrons maintenant officiellement dans l'introduction d'aujourd'hui, comment définir un espace de noms.

Regardons d’abord un petit marron.

<?php
declare(encoding=&#39;UTF-8&#39;); //定义多个命名空间和不包含在命名空间中的代码
namespace MyProject {

const CONNECT_OK = 1;
class Connection { /* ... */ }
function connect() { /* ... */  }
}

namespace { // 全局代码
session_start();
$a = MyProject\connect();
echo MyProject\Connection::start();
}
?>

Observons et constatons que ces deux morceaux de code ont une caractéristique commune, c'est-à-dire qu'il y a le mot-clé "namespace", mais les mots-clés derrière eux sont différents. Quelle est la raison ? tissu? Nous le saurons après avoir découvert les espaces de noms. namespace”,但是关键词后面却并不一样,这是什么原因呢?等我们学习了命名空间知识之后,就会知道啦。

默认情况下,所有常量、类和函数名都放在全局空间中,就像PHP支持的名称空间之前一样。

命名空间通过关键字namespace

Par défaut, tous les noms de constantes, de classes et de fonctions sont placés dans l'espace global, tout comme avant les espaces de noms pris en charge par PHP.

L'espace de noms est déclaré avec le mot-clé namespace. Si un fichier contient un espace de noms, il doit déclarer l'espace de noms avant tout autre code. Le format de syntaxe est le suivant :

<?php  
// 定义代码在 &#39;MyProject&#39; 命名空间中  
namespace MyProject;  
 
// ... 代码 ...

Et nous pouvons définir différents codes d'espace de noms dans le même fichier. Cependant, lors de la combinaison du code dans le non-espace de noms global avec le code dans l'espace de noms, seule la syntaxe entre accolades peut être utilisée. Le code global doit être placé entre accolades avec des instructions d'espace de noms sans nom.

De plus, le seul code valide avant de déclarer l'espace de noms est l'instruction declare qui définit l'encodage du fichier source. Tout code non PHP (y compris les espaces) ne doit pas apparaître avant une déclaration d'espace de noms.

C'est tout pour nommer l'espace de noms. Si vous voulez savoir autre chose, vous pouvez cliquer ici. → →🎜Tutoriel vidéo php🎜🎜

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!

Déclaration:
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