Maison >développement back-end >tutoriel php >Développement PHP(32)-ThinkPHP5.0(4) Espace de noms et espace public-PhpStorm

Développement PHP(32)-ThinkPHP5.0(4) Espace de noms et espace public-PhpStorm

黄舟
黄舟original
2017-03-03 10:06:321739parcourir

Dans cet article de blog, examinons la relation entre les espaces de noms et les espaces publics, ainsi que les problèmes auxquels il faut prêter attention lors de leur utilisation. Nous les démontrerons à travers 2 fichiers PHP.

Notez que 1.php ne peut pas inclure 2.php, et en même temps, 2.php inclut 1.php, une boucle infinie signalera une erreur.

1.php :

<?php
    /**
     * 命名空间 公共空间 访问方式
     * 命名空间 优先级大于 公共空间
     */
    namespace shenyang;
    class Animal{
        public $obj = &#39;dog<br>&#39;;
        static $name = &#39;大黄<br>&#39;;
    }

    function getmsg(){
        echo "辽沈<br>";
    }

    const NM = "iwanghang1<br>";

    include("./2.php");

    getmsg(); // 打印结果:辽沈 (由此可见,引入的空间,对当前空间没有影响)

    echo \NM; // 打印结果:iwanghang2 (\ 公共空间 访问方式)
    echo NM; // 打印结果:iwanghang1 (假如,当前空间没有NM,就会去公共空间查找NM,)

2.php :

<?php
    function getmsg(){
        echo "北京";
    }

    const NM="iwanghang2<br>";

    /**
     * 注意,不能1.php include 2.php,同时,2.php include 1.php,死循环会报错
     * 当我们测试下面的代码的时候,要注释掉1.php中的“include("./2.php");”
     */
    include("./1.php");

    echo NM; // 不推荐的写法
    echo \NM; // 打印结果:iwanghang2
    echo \shenyang\NM; // 打印结果:iwanghang1

Ce qui précède est le développement PHP (32) -ThinkPHP5.0 ( 4) Contenu de l'espace de noms et de l'espace public-PhpStorm, veuillez faire attention au site Web PHP chinois (www.php.cn) pour plus de contenu connexe !

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