当前位置:   article > 正文

面向对象php学习笔记20:命名空间[命名空间基础,命名空间应用,命名空间引入]_namespace命名规则

namespace命名规则

命名空间

1命名空间基础

定义:命名空间namespace,是指人为将内存进行分隔,让不同的内存区域的同名结构共存.从而解决在大型项目中可能出现的重名问题.类似文件夹

1基本语法:namespace 命名空间名字;

namespace my_space;//定义空间

2.namespace起名规则:

  • 由字母,数字,下划线构成
  • 由字母和下划线构成
  • 较少出现多单词空间名,一般使用下划线法

3.namespace的作用:能够创建同名结构,包括函数,常量和类

4. namespace里的内容

  • 不同namespace里可以有同名的函数,常量和类(结构),称为空间元素 -- (这些东西都在代码段)
  • namespace里可以有代码

5. namespace注意事项:1个文件中的命名空间第一次声明必须在所有代码之前

总结

2namespace子空间

定义:子空间,即在已有空间之上,再在内部进行空间划分,让每个小空间独立起来.

1.命名空间子空间:格式为:namespace 空间名\空间名\空间名...;

 

2.可直接建立多层namespace子空间

和文件夹不同,不用像先建父文件夹再建子文件夹那样操作

总结

3命名空间访问

1. 非限定名称访问:即直接访问空间元素的名字,此类访问访问的是当前代码所属当前名称空间内的元素

注意:非限定名称访问好比访问当前文件夹下所拥有的文件.当前文件夹(命名空间)中找不到即报错!

2. 限定名称的访问:在访问元素的前面使用相应的空间名字,非限定名称的访问是基于子空间来实现的

注意:限定名称好比访问当前文件夹下子文件夹内容

3.完全限定名称:即从根目录\(全局空间)开始访问,类似绝对路径

总结:

全局空间

定义:全局空间,即空间元素在没有定义空间的情况下所属的空间,也是所有定义的空间的顶级空间.即所有空间都是从全局空间分离出来的.

1.没有指定空间的元素所属的空间属于全局空间

2. 所有空间本质都是在全局空间下的划分

3. 全局空间元素的访问:使用完全限定名称访问

4. 一旦命名空间出现,那么空间元素:类,常量和函数的访问就被限制在空间内,如果使用非限定名称访问,那么系统解析会按以下解析逻辑(限定名称或完全限定名称是直接按路径准确找)

  • 首先是一定在自己空间内查找
  • 如果找不到元素,不同空间元素的处理不同
  1. 系统常量,系统函数如果找不到,会自动到全局空间去找(也就是能找到)
  2. 系统类是不会自动去全局空间找的(报错:提示当前所属空间内元素找不到)

5. 有命名空间的文件包含了1个无命名空间(即全局空间)的文件,那么要访问无命名空间中的元素,需要使用全局空间

总结:

命名空间应用

定义:命名空间应用模拟真实开发环境,来运用命名空间规则

1. 创建文件夹:模拟实际项目

2. 业务说明

  • root根目录:存放用户可以直接访问的文件,文件都是请求controller里的文件
  • controller目录:存放业务逻辑文件,所有业务都是类文件,业务要操作数据库,请求model里的文件,属于controller空间
  • model目录:存放数据库操作的类文件,属于model空间
  • core目录:核心工具的存放,属于core空间

3. 创建3个文件:分别代表root目录下(不需要空间),controller目录下的controller空间,model目录下的model空间

4. 代码说明

总结

命名空间引入

定义:命名空间引入其实就是将另外一个空间的元素(类,函数和常量)引入到当前空间来,当做当前空间的元素访问,从而减少复杂的完全限定名称访问,取而代之的是非限定名称访问.

1. 空间引入方式:use关键字

注意:use进行空间引入的时候,默认是从全局空间开始构建空间路径的(不是自己空间的相对路径),所以上述代码等于如下代码

2. 空间引入的元素默认是类,如果要引入其他元素,就必须使用对应的关键字:function和const

3. 如果引入的元素在当前空间已经存在,则会出现重名.解决方案是用别名as alias

 4. 一旦引入别名,那么就(只能)使用别名

5. 可以1次引入多个[同类]元素,用逗号隔开

6. 如果一个空间元素全部需要引入,也可以直接引入空间

总结

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/439715
推荐阅读
  

闽ICP备14008679号