18-5命名空间的别名与导入方式–PHP实战开发教程

18-5命名空间的别名与导入方式–PHP实战开发教程

司娜衅很骚泡怖圭捌体铰懦礁


导入命名空间

新建demo5.php

<?php

//1. 声明命名空间one
namespace one
{
    //导入命名空间
    use one\two\Demo;
    class Demo1
    {
        public $name="mengmianren";
    }
    function add($a,$b)
    {
        return $a+$b;
    }
    const SITE="萌面人资料铺";

    //已经导入了直接使用即可
    echo (new Demo())->name."<br>";
}

//2.声明命名空间one\two
namespace one\two {
    class Demo
    {
        public $name = "萌面人";
    }

    function add($a, $b)
    {
        return $a + $b;
    }
    const SITE = "www.xuexianswer.com";

}


执行:

18-5命名空间的别名与导入方式–PHP实战开发教程第1张


当导入命名空间的类与当前空间的类重名时应该取别名   

<?php

//1. 声明命名空间one
namespace one
{
    //导入命名空间并取别名  防止冲突
    use one\two\Demo as newDemo;
    class Demo
    {
        public $name="mengmianren";
    }
    function add($a,$b)
    {
        return $a+$b;
    }
    const SITE="萌面人资料铺";

    //已经导入了直接使用即可
    echo (new newDemo())->name."<br>";
}

//2.声明命名空间one\two
namespace one\two {
    class Demo
    {
        public $name = "萌面人";
    }

    function add($a, $b)
    {
        return $a + $b;
    }
    const SITE = "www.xuexianswer.com";

}


执行:

18-5命名空间的别名与导入方式–PHP实战开发教程第2张


命名空间可以实现类的自动加载(thinkphp就是典型的自动加载实例)  比如将one\two 改为php\18   就可以自动加载目录下的类或者文件

详细信息见PSR-4  php手册


掣吻慑靠埂扛爱想让等撤界块