Loading

PHP 命名空间

概述

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

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

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

 

 是不是很简单?

但是我有如下问题?

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

问题解决

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

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

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

 

总结

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

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

 

posted @ 2019-03-31 20:20  烟草的香味  阅读(162)  评论(0编辑  收藏  举报