PHP命名空间

概述

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

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

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

是不是很简单?

但是我有如下问题?

不指定命名空间时, 如何?

不将类use进来,直接创建,如何?

若要引入不同命名空间的同名类, 如何?

问题解决

1. 当不指定命名空间时, 为全局空间,公共空间

2. 不讲类use进来, 直接创建时, 将在当前命名空间下寻找

3. 引入不同命名空间的同名类时, 可以使用别名来区分同名类

总结

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

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

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190331A0EG9M00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券