命名空间
命名空间是一种封装事物的方法.
主要解决两类问题:
- 用户编写的代码与 PHP 内部或第三方的类,函数,常量,接口名字冲突
- 为很长的标识符名称创建一个别名的名称, 提高源代码的可读性
PHP 命名空间提供了一种将相关的类, 函数, 常量, 和接口组合到一起的途径, 不同命名空间的类, 函数, 常量, 接口相互隔离不会冲突.
定义
命名空间通过 namespace 来声明, namespace 之前只能有 declare, 可以在多个文件中声明一个命名空间, 也可以在同一文件中声明多个命名空间
内部实现
当声明了一个命名空间后, 接下来编译类,函数,常量时会把类名, 函数名,和常量名统一加上命名空间的名称作为前缀.
使用
通过 use 导入命名空间
动态用法
可以使用命名空间字符串来使用对应空间中的类,变量,常量等