Explication détaillée de l'espace de noms en PHP
Cet article vous présente une explication détaillée de l'espace de noms en PHP. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il vous sera utile.
L'espace de noms PHP n'est disponible qu'après php5.3. Ce concept existe en C# depuis longtemps. L'espace de noms en PHP est en fait le même concept que C#.
Pourquoi devons-nous utiliser un espace de noms en php ?
Supposons que si l'espace de noms n'est pas utilisé, le nom de chaque classe d'un projet doit être corrigé. Car lorsque PHP est nouveau, qu'il appelle autoload ou qu'il appelle une classe chargée, il existe un fichier correspondant au nom de la classe. Ainsi, lorsqu'il n'y a pas d'espace de noms, nous penserons à différentes règles de dénomination pour distinguer les différentes classes, comme project1_school1_class1_Student ou project2_school_class_Student.
Après avoir introduit l'espace de noms, cela peut être efficacement évité. Un espace de noms équivaut à correspondre à un chemin de fichier. Lors de la recherche de cette classe, le chemin de fichier correspondant sera recherché pour le fichier de définition de classe.
Définition et utilisation de l'espace de noms
Définition :
<code class="php"><?php<br/><br/>namespace Myproject;</code>
ou
<code class="php"><?php<br/><br/>namespace Myproject {<br/><br/>}</code>
Utilisation :
<code class="php"><?php<br/><br/>use Myproject/School;</code>
<code class="php"><?php<br/><br/>use Myproject/School as School1; // 别名</code>
les espaces de noms sont résolus au moment de l'exécution. use est équivalent à une instruction et n’est ni analysé ni chargé. Par exemple, l'exemple suivant :
test.php
<code class="php"><?php<br/>use my\name;<br/>require_once("/home/yejianfeng/handcode/test/namespace1.php");<br/>$a = new my\name\A();<br/>$a->Print1();</code>
namespace1.php
<code class="php"><?php<br/>namespace my\name;<br/>class A {<br/> public function Print1(){<br/> echo 11;<br/> }<br/>}</code>
Bien que require_once soit en cours d'utilisation, il peut s'exécuter normalement car le programme uniquement Chargez uniquement l'espace de noms myname
classe globale et classe d'espace de noms
si vous souhaitez créer une nouvelle classe globale, utilisez new A()
Si vous souhaitez créer une nouvelle classe d'espace de noms, utilisez new mynamespaceA()
L'ordre des espaces de noms
Puisqu'il existe un espace de noms, le plus sujet aux erreurs Quand il est Il est temps d'utiliser une classe, il est temps de déterminer à quoi ressemble le chemin de recherche de cette classe.
Si vous parvenez à comprendre cet exemple dans le manuel, vous pouvez comprendre l'ordre de recherche.
<code class="php"><?php<br/>namespace A;<br/>use B\D, C\E as F;<br/><br/>// 函数调用<br/><br/>foo(); // 首先尝试调用定义在命名空间"A"中的函数foo()<br/> // 再尝试调用全局函数 "foo"<br/><br/>\foo(); // 调用全局空间函数 "foo" <br/><br/>my\foo(); // 调用定义在命名空间"A\my"中函数 "foo" <br/><br/>F(); // 首先尝试调用定义在命名空间"A"中的函数 "F" <br/> // 再尝试调用全局函数 "F"<br/><br/>// 类引用<br/><br/>new B(); // 创建命名空间 "A" 中定义的类 "B" 的一个对象<br/> // 如果未找到,则尝试自动装载类 "A\B"<br/><br/>new D(); // 使用导入规则,创建命名空间 "B" 中定义的类 "D" 的一个对象<br/> // 如果未找到,则尝试自动装载类 "B\D"<br/><br/>new F(); // 使用导入规则,创建命名空间 "C" 中定义的类 "E" 的一个对象<br/> // 如果未找到,则尝试自动装载类 "C\E"<br/><br/>new \B(); // 创建定义在全局空间中的类 "B" 的一个对象<br/> // 如果未发现,则尝试自动装载类 "B"<br/><br/>new \D(); // 创建定义在全局空间中的类 "D" 的一个对象<br/> // 如果未发现,则尝试自动装载类 "D"<br/><br/>new \F(); // 创建定义在全局空间中的类 "F" 的一个对象<br/> // 如果未发现,则尝试自动装载类 "F"<br/><br/>// 调用另一个命名空间中的静态方法或命名空间函数<br/><br/>B\foo(); // 调用命名空间 "A\B" 中函数 "foo"<br/><br/>B::foo(); // 调用命名空间 "A" 中定义的类 "B" 的 "foo" 方法<br/> // 如果未找到类 "A\B" ,则尝试自动装载类 "A\B"<br/><br/>D::foo(); // 使用导入规则,调用命名空间 "B" 中定义的类 "D" 的 "foo" 方法<br/> // 如果类 "B\D" 未找到,则尝试自动装载类 "B\D"<br/><br/>\B\foo(); // 调用命名空间 "B" 中的函数 "foo" <br/><br/>\B::foo(); // 调用全局空间中的类 "B" 的 "foo" 方法<br/> // 如果类 "B" 未找到,则尝试自动装载类 "B"<br/><br/>// 当前命名空间中的静态方法或函数<br/><br/>A\B::foo(); // 调用命名空间 "A\A" 中定义的类 "B" 的 "foo" 方法<br/> // 如果类 "A\A\B" 未找到,则尝试自动装载类 "A\A\B"<br/><br/>\A\B::foo(); // 调用命名空间 "A\B" 中定义的类 "B" 的 "foo" 方法<br/> // 如果类 "A\B" 未找到,则尝试自动装载类 "A\B"<br/>?></code>
Articles connexes recommandés :
Règles de dénomination des variables php et utilisation des variables php (avec code)
Comment php Utilisez l'hexadécimal pour réaliser le cryptage et le déchiffrement de l'ID (avec code)
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Cet article est réimprimé du compte public WeChat « Vivre à l'ère de l'information ». L'auteur vit à l'ère de l'information. Pour réimprimer cet article, veuillez contacter le compte public Vivre à l’ère de l’information. En apprentissage automatique, un concept de base est de savoir comment juger la différence entre deux échantillons, afin que la similarité et les informations de catégorie entre les deux échantillons puissent être évaluées. La mesure permettant de juger de cette similarité est la distance entre deux échantillons dans l'espace des caractéristiques. Il existe de nombreuses méthodes de mesure basées sur différentes caractéristiques des données. De manière générale, pour deux échantillons de données x, y, définissez une fonction d(x, y). Si elle est définie comme la distance entre les deux échantillons, alors d(x, y) doit satisfaire les propriétés de base suivantes : Non- négativité : d(x, y)>=0 Identité : d(x, y)=0 ⇔ x=y paire

L'espace d'échange joue un rôle important dans les systèmes Linux, en particulier lorsque le système manque de mémoire. Il agit comme un espace de stockage de mémoire de sauvegarde qui aide le système à fonctionner correctement et à maintenir sa stabilité même sous une charge élevée. Cet article vous fournit un guide détaillé pour ajouter de l'espace de swap sur Ubuntu 22.04LTS afin de garantir que les performances de votre système sont optimisées et peuvent gérer diverses charges de travail. Comprendre l'espace d'échange L'espace d'échange fournit une mémoire virtuelle utilisée pour compléter la RAM physique du système. Lorsqu'un système manque de RAM, le noyau échange les données sur le disque pour éviter les pannes de mémoire et les pannes du système. Les systèmes Linux utilisent généralement l'espace de swap pour gérer cette situation. Exécutez simultanément plusieurs applications gourmandes en mémoire pour traiter des fichiers ou des données très volumineux

Résoudre l'erreur PHP : la classe d'espace de noms spécifiée n'a pas été trouvée lors du développement avec PHP, nous rencontrons souvent divers messages d'erreur. L'une des erreurs courantes est "La classe d'espace de noms spécifiée n'a pas été trouvée". Cette erreur est généralement provoquée par le fait que le fichier de classe importé n’est pas correctement référencé dans l’espace de noms. Cet article explique comment résoudre ce problème et fournit quelques exemples de code. Tout d’abord, examinons un exemple de message d’erreur courant : Fatalerror:UncaughtError:C.

50 à 80 Go d'espace restant sur le lecteur c sont plus adaptés. Étant donné que le système générera des fichiers indésirables, des fichiers de cache, etc. à l'avenir, il est recommandé de réserver au moins 50 Go à 80 Go d'espace pour le lecteur C si vous n'êtes pas habitué à choisir un chemin lors de l'installation du logiciel et que vous ne le nettoyez pas ; votre ordinateur fréquemment, alors au moins 100 Go sont requis.

Le framework F3 est un framework PHPWeb simple, facile à utiliser, flexible et extensible. Son mécanisme d'espace de noms (Namespace) nous offre une structure de code plus standardisée, plus lisible et plus claire. Dans cet article, nous explorerons comment utiliser les espaces de noms dans le framework F3. 1. Qu'est-ce qu'un espace de noms ? Les espaces de noms sont souvent utilisés pour résoudre le problème des conflits de noms en PHP. Ils peuvent encapsuler une ou plusieurs classes, fonctions ou constantes dans un espace de noms, ce qui équivaut à leur ajouter un préfixe. exemple

Comme nous le savons tous, si le disque système occupé est trop volumineux une fois l'installation du système terminée, cela peut entraîner des retards, des retards et même une perte de fichiers. Par conséquent, avant d'installer le système Win11, vous devez savoir combien d'espace disque C est requis pour mettre à niveau Win11. Jetons un coup d'œil avec l'éditeur. Combien d'espace disque C est requis pour mettre à niveau Win11 : Réponse : La mise à niveau de Win11 nécessite 20 à 30 Go d'espace disque C. 1. Selon les exigences de configuration de Microsoft Win11, vous pouvez constater que l'installation de Win11 nécessite 64 Go d'espace disque. 2. Mais en fait, d’une manière générale, il n’est pas nécessaire d’avoir un espace aussi grand. 3. Selon les commentaires des utilisateurs qui ont déjà installé Win11, la mise à niveau de Win11 nécessite environ 20 à 30 Go d'espace disque C. 4. Mais si seulement notre porte a

Redis est une base de données de stockage clé-valeur open source et hautes performances. Lorsque nous utilisons Redis pour le stockage de données, nous devons prendre en compte la conception de l'espace de noms des clés et du mécanisme d'expiration afin de maintenir les performances et l'intégrité des données de Redis. Cet article présentera les idées de conception et les méthodes d'implémentation de l'espace de noms et du mécanisme d'expiration de Redis. 1. Idées de conception d'espace de noms Redis Dans Redis, les clés peuvent être définies arbitrairement. Afin de faciliter la gestion et la distinction des différents types de données, Redis introduit le concept d'espace de noms. vie

Le C++ est un langage de programmation de haut niveau largement utilisé. Il présente une grande flexibilité et évolutivité, mais il oblige également les développeurs à maîtriser strictement ses règles grammaticales pour éviter les erreurs. L'une des erreurs courantes est "l'utilisation d'un espace de noms non défini". Cet article explique ce que signifie cette erreur, pourquoi elle se produit et comment la corriger. 1. À quoi sert un espace de noms non défini ? En C++, les espaces de noms sont un moyen d'organiser du code réutilisable afin de le garder modulaire et lisible. Les fonctions portant le même nom peuvent être créées à l'aide d'espaces de noms
