PHP 命名空间

概述

什么是命名空间呢? 这个概念我第一次知道是在C++中.

首先, 为什么要用到命名空间呢? 当然是为了解决重名的问题了, 其实命名空间和Java中的包有着异曲同工之妙, Java中 a包下的Test类, 和b包下的Test类是两个类, 在使用的时候import不同包下即可, PHP中 a命名空间下的Test类,与b命名空间下的Test类也是两个类.

好了, 看PHP命名空间的简单应用:

1457859-20190331195744333-513398658.png (168×144)

是不是很简单?

但是我有如下问题?

  1. 不指定命名空间时, 如何?
  2. 不将类use进来,直接创建,如何?
  3. 若要引入不同命名空间的同名类, 如何?

问题解决

  1. 当不指定命名空间时, 为全局空间,公共空间
  2. 不讲类use进来, 直接创建时, 将在当前命名空间下寻找
  3. 引入不同命名空间的同名类时, 可以使用别名来区分同名类

1457859-20190331201449407-84488137.png (314×396)

总结

PHP中命名空间与文件所处路径是没有关系的, 使用时, 最方便的就是直接使用根路径进行引入, 如果使用相对路径, 可能会混淆

其实, 就将命名空间当作路径来使用就可以了, 当使用类时, ‘\xx’ 为绝对路径, ‘xx’为相对路径(use时不用), 其实想想并不是很绕

------------

原文地址 https://hujingnb.com/archives/234

转载请保留原文连接: PHP 命名空间 | 烟草的香味

guest
0 评论
内联反馈
查看所有评论
0
希望看到您的想法,请发表评论。x