一、命名空间概述
1、什么是命名空间
1)从广义上来说,命名空间是一种封装事物的方法。
2)在很多地方都可以见到这种抽象概念。例如,在操作系统中目录用来将相关文件分组,对于目录中的文件来说,它就扮演了命名空间的角色。
3)在PHP中,命名空间用来解决在编写类库或应用程序时名称冲突的问题。
4)PHP 命名空间提供了一种将相关的类、函数和常量组合到一起的途径。
2、定义命名空间的要求
1)PHP 在 5.3.0 以后的版本开始支持命名空间。
2)空间中可以包含任意合法的PHP代码,但只有三种代码受命名空间的影响,它们是:类,函数和常量。
3)命名空间通过关键字namespace来声明。
4)命名空间必须是程序脚本的第一条语句。
3、实例:定义单个命名空间 图片.png
4、实例:定义子命名空间
1)使用“\”斜线来分割子文件夹。例如:home\controller\a.txt
2)使用“\”斜线来分割子命名空间。例如:$obj = new Home\Controller\Student()
二、同一文件定义多个命名空间
1、简单组合语法 图片.png
2、大括号语法 图片.png
3、命名空间(大括号语法)中的全局代码 图片.png
三、使用命名空间
访问命名空间中元素的方式
1)非限定名称(不带任何前缀)。$obj = new User()
,解析为$obj = new current\User()
2)限定名称(带相对空间前缀)。$obj = new Home\User()
,解析为$obj = new current\Home\User()
3)完全限定名称(从根空间开始)。$obj = new \Home\User()
,解析为$obj = new \Home\User()
四、命名空间元素的导入和别名
1、描述
1)允许通过别名引用或导入外部的完全限定名称,是命名空间的一个重要特征。
2)PHP 命名空间支持两种使用别名或导入方式:为类名称使用别名,或为命名空间名称使用别名
3)注意PHP不支持导入函数或常量。
4)在PHP中,导入是通过操作符 use 来实现的,别名是通过操作符as来实现的。
网友评论