php命名空间

2/11/2016来源:PHP技巧人气:1897

这是我平时整理的笔记:

/*首先~命名空间的存在是为了解决 引用不同类中命名冲突问题的*/

/*1.定义命名空间*/
    namespace My;
        class A{};
        
    namespace Your;
        class A{};
        
        
/*2.在同一个项目中引用命名空间*/
    namespace My;
        class A{};
        //直接引用(使用非限定名称)
        $a = new A();
        
        //引用子命名空间(使用限定名称)
        $obj = new son\A();
    namespace My\son;
        class A{};
        
        //引用根目录开始的命名空间(完全限定名称)
        $b=namespace\My\A();
        
/*3.使用use取别名和引用(导入)*/
    
    namespace My\one\two;
        class A{};
        
    namespace Your;
        class A{};
        
        
        use \My\one\two //如果结尾是命名空间则是默认将最后一段取别名,类似于添加环境变量
        
        $obj=new two\A();
        $obj=new \My\one\two\A();
        
        
        use \My\one\two\A as MyA //如果结尾是类名则是类名则相当于快捷方式
        
        $obj=new MyA();