命名空间小总结

原创2018-12-19 15:00:0772
摘要:/**  * trait可以扩展类的功能,功能强大  * trait在类继承的上下文关系中优先级  * 子类>trait>父类  */ trait Func1 {     public function test1()   &
/**
 * trait可以扩展类的功能,功能强大
 * trait在类继承的上下文关系中优先级
 * 子类>trait>父类
 */

trait Func1
{
    public function test1()
    {
        return '我是trait Func1的方法test1()';
    }
}

trait Func2
{
    public function test1()
    {
        return '我是trait Func2的方法test1()';
    }
}

class Test
{
    use Func1,Func2{//trait中重名方法的解决方案
        Func1::test1 insteadof Func2;
        Func2::test1 as func2Test1;
    }
}
$test = new Test();
echo $test->test1();
echo $test->func2Test1();
//如何在一个脚本中声明多个命名空间
namespace one
{
    const A='aa';
}
namespace two
{
    const A='bb';
}
//公共空间
namespace
{
    const A='cc';
    //访问空间one的空间的常量
    echo one\A;
    //访问公共空间的常量
    echo A;
}

如何导入外部命名空间?用use关键字

命名空间分为三种

非限定名称 相当于当前路径

限定名称 相当于相对路径

完全限定名称 相当于绝对路径


批改老师:天蓬老师批改时间:2018-12-19 15:03:57
老师总结:导入外部空间, 不等于加载了外部文件, 一定要注意呀

发布手记

热门词条