Comment utiliser les espaces de noms en PHP

清浅
Libérer: 2023-04-05 06:00:01
original
5427 Les gens l'ont consulté

L'espace de noms en PHP est un moyen de résoudre les conflits de code causés par la même classe ou méthode. Placez le code PHP dans un espace de noms à l'aide de la commande namespace. Lorsque vous souhaitez appeler une classe, vous devez d'abord appeler l'espace de noms

Lorsque nous écrivons un programme PHP, nous constaterons que le programme échouera car il existe une classe ou une méthode portant le même nom. Cependant, l'espace de noms en PHP peut nous aider à résoudre le problème de conflit de code. Ensuite, dans l'article, nous présenterons en détail comment utiliser le code de l'espace de noms

Comment utiliser les espaces de noms en PHP

. [Cours recommandé : Tutoriel PHP]

Il y a deux fichiers dans l'exemple suivant, un Demo.php et un index .php, les deux fichiers sont dans le même répertoire ; écrivez l'espace de noms et la classe Demo dans le fichier Demo.php, et index.php appelle la classe Demo dans Demo.php, le "résultat de sortie" dans l'exemple suivant signifie que le le navigateur accède à index.php.

Code du fichier Demo.php

<?php
namespace DemoNameSpace;
 
class Demo {
    private $mysqlHandle;
 
    public function __construct() {
        echo &#39;This is namespace of PHP demo ,The Demo magic constant "__NAMESPACE__" is &#39;.__NAMESPACE__;
    }
}
?>
Copier après la connexion

Code du fichier index.php

<?php
    include &#39;Demo.php&#39;;
    use DemoNameSpace\Demo;
    $DemoObj = new Demo();
?>
Copier après la connexion

Sortie Résultat :

“This is namespace of PHP demo ,The Demo magic constant "__NAMESPACE__" is DemoNameSpace”
Copier après la connexion

Description de l'exemple ci-dessus : Il existe une constante magique _NAMESPACE__ dans Demo.php ; "Elle contient la chaîne du nom de l'espace de noms actuel. Globalement, elle n'est incluse dans aucun code. dans l'espace de noms contient une chaîne vide. "

Demo.php ne change pas, modifiez le fichier index.php

<?php
    include &#39;Demo.php&#39;;
    $Demo = new Demo();
?>
Copier après la connexion

Résultat de sortie :

“Fatal error: Class &#39;Demo&#39; not found in F:\JJserver\demo\index.php on line 4”
Copier après la connexion

Il s'agit d'un message courant d'"erreur fatale". Selon les idées de programmation PHP conventionnelles, le résultat ici devrait être cohérent avec le résultat ci-dessus, mais il comporte ici une erreur fatale. Mais lorsque nous supprimons (ou commentons) l'instruction "namespace DemoNameSpace;" dans le fichier Demo.php, cela devient normal. C’est la manière la plus courante dont nous écrivons et appelons des classes.

Résumé :

En comparant les deux situations de sortie consistant à utiliser l'espace de noms et à ne pas utiliser l'espace de noms, et en ajoutant la définition de l'espace de noms pour comprendre, la situation d'erreur fatale ci-dessus est très bonne J'ai compris. Un espace de noms est défini dans Demo.php, c'est-à-dire qu'après l'espace de noms, la classe Demo est définie, puis la classe Demo est fusionnée dans l'espace de noms DemoNameSpace. Ainsi, lorsque vous souhaitez appeler cette classe Demo, vous devez d'abord appeler ce DemoNameSpace. espace de noms, c'est-à-dire utilisez l'instruction "useDemoNameSpaceDemo" dans le fichier index.php

[Recommandations associées : L'espace de noms en PHP est What


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!

Étiquettes associées:
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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!