阅读390 返回首页    go Php编程


PHP中的命名空间namespace

命名空间是一种代码的组织形式,是一种封装事物的方法。命名空间将代码划分出不同的空间(区域),每个空间里面的类、函数和常量互不影响。虽然任何PHP代码都可以包含在命名空间中,但只有几种类型的代码受到命名空间的影响:类(包括抽象类和traits)、接口、函数和常量。

为什么要使用命名空间?

使用命名空间是为了解决面向对象编程过程中用户编写的类、函数、常量与PHP内部或第三方的类、函数、常量名字冲突问题。

命名空间通过关键字namespace来声明。如果一个文件中包含命名空间,则它必须在所有代码之前声明。

然后执行结果如下:

这时提示找不到name类,这是因为我们定义的name类是在name1和name2命名空间下的,要想使用这个类,需要把命名空间也加上:

执行结果:

还可以先使用use关键字将命名空间导入,然后再使用

执行结果:

PHP还允许指定层次化的命名空间:

执行结果:

注意这里的name1\name2只是命名空间的层次划分,并没有包含和被包含的关系,也不是目录的层级关系。

如果没有定义任何命名空间,则默认是在全局空间中,与PHP引入命名空间概念前一样,我们平时写的不带命名空间的代码都在全局空间中,在名称前面加上\表示该名称是全局空间中的名称,在其他命名空间中可以通过这种方式使用全局空间中的类、函数、常量等。

关注PHP技术宅宅是人的天性,也是一种境界!

长按指纹识别图中二维码(微信号:phpjsz)

您看此文用·秒,分享只需1秒呦~

最后更新:2017-10-08 21:36:12

  上一篇:go PHP类中访问权限关键字介绍
  下一篇:go PHPCON分享 程序猿都该知道的MySQL秘籍