首页 - PHP编程

PHP命名空间(namespace)

在PHP中,命名空间用来解决在编写类库或应用程序时创建可重用的代码如类或函数时碰到的两类问题:

1

2

用户编写的代码与PHP内部的类/函数/常量或第三方类/函数/常量之间的名字冲突。

为很长的标识符名称(通常是为了缓解第一类问题而定义的)创建一个别名(或简短)的名称,提高源代码的可读性。

名空间提供了一种将相关的类、函数和常量组合到一起的途径。下面是一个说明 PHP 命名空间语法的示例:

我的项目目录结构如下: 
这里写图片描述

index.php需要同时使用test1\Test.phptest2\Test.php,如果不用命名空间,由于两个类都同名,则会报错。

vendor\test1\Test.php


1

2

3

4

5

6

7

8

namespace vendor\test1;

 

class Test{

    public function path(){

        echo __DIR__."
"
;

    }

}


vendor\test2\Test.php


1

2

3

4

5

6

7

8

namespace vendor\test2;

 

class Test{

    public function path(){

        echo __DIR__."
"
;

    }

}


index.php


1

2

3

4

5

6

7

8

9

10

11

12

13

14

    spl_autoload_register(function($class){