PHP命名空间

(PHP5>=5.3.0, PHP7)

命名空间是一种封装的方法,即将代码放入一个“文件夹”中。命名空间将代码划分出不同空间区域,每个空间中的常量、函数、类的命名互不影响。

问题

  1. 相同目录下不能创建同名文件
  2. 一个php脚本中不能存在同名函数
    Fatal error: Cannot redeclare func()...
  3. 一个php脚本中不能存在同名类
    Fatal error: Cannot redeclare class..

作用

  1. 防止命名冲突即重名问题,重名会造成致命错误(Fatal error)。
  2. 解决命名过长

创建

创建命名空间使用 namespace 关键字

注意

命名空间必须写在文件行首第一句

Fatal error: Namespace declaration statement has to be the very first statement in the script...

命名空间仅对常量、函数、类三种元素有效,变量是全局有效的。

不同命名空间之间禁止直接调用元素,需使用 \空间名\元素名

一个文件中一个命名空间和一个类。

用法

...

类的使用

系统类

Fatal error: Uncaught Error: Class 'App\PDO' not found...

Error: Class 'App\PDO' not found...

变量类


Fatal error: Uncaught Error: Class 'Container' not found ...

Error: Class 'Container' not found...


导入类

Container.php


test.php


可为导入类做别名


命名空间与自动引入(namespace & autoload)

你可能感兴趣的:(PHP命名空间)