Maison  >  Article  >  développement back-end  >  Comment utiliser les espaces de noms en PHP

Comment utiliser les espaces de noms en PHP

清浅
清浅original
2019-01-31 14:03:485435parcourir

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__;
    }
}
?>

Code du fichier index.php

<?php
    include &#39;Demo.php&#39;;
    use DemoNameSpace\Demo;
    $DemoObj = new Demo();
?>

Sortie Résultat :

“This is namespace of PHP demo ,The Demo magic constant "__NAMESPACE__" is DemoNameSpace”

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();
?>

Résultat de sortie :

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

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!

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