命名空间的使用

namespace hunanchangsha

class Person{

  static $name='wu_han';

}

namespace hunanchangsha  声明命名空间,它的作用包括方法,类名,常量,这三者都统称为元素

当在程序里使用元素的时候,默认在当前的命名空间里找该元素,所谓当前的命名空间就是指最后那个声明的空间

如果当前空间里没有该元素,就去引入的空间里找。

引入空间用use关键词,引入有两种方式,1一种是将空间和元素都引入,use hunanchangshaPerson,然后就可以这样访问,Person::$name;

2第二种是只引入空间,use hunanchangsha ,然后可以这样访问 changhsaPerson::$name

注意:如果不引入空间,也可以直接访问,这种方式就是把use去掉,加上反斜杠,例如:hunanchangshaPerson::$name

如果当前空间里有该元素,而引入的空间里也有该元素,这时访问引入空间里的元素就会报错,解决办法是给引入的空间起个别名,如:use hunanchangshaPerson as pon

公共空间:所谓公共空间就是没有指定命名空间

公共空间也分两种:

1、当前空间有命名空间,包含的文件没有命名空间,用include包含公共空间文件

2、当前空间是公共空间,包含的文件有命名空间

 这两种方式默认都是使用当前空间的元素,第一种访问公共空间的元素用符号,第二种使用完全限定名称,就是hunanchangshaPerson::$name

原文地址:https://www.cnblogs.com/toward-the-sun/p/4050474.html