21.php命名空间

    命名空间是对工程和类管理的一种替代解决方式,本质上是是语言设计缺陷大规避,目的是为了工程的方便管理和防止同名类的加载。

    我们不使用命名空间,并引入另外一个文件,我创建了三个文件待用,main.php,lib1.php,lib2.php


    会出这样的警告,错误原因就是在全局空间中有两个完全一样的类。

21.php命名空间_第1张图片

    我们放开上面namesapce的注释就不会再有问题。

    对于命名空间的使用我们往往是根据文件的某一路径写成\PATH\TO\FILENAME。

    下面说一下命名空间类之间的调用问题

    直接使用本域中的类


Outputer::output();

     使用被引用命名空间中的类 
  

    明确告诉解释器,我要使用的域,这在搜索域特别长的时候很有效。

    这时候会出错,回到老问题上去了。

    我们要使用别名来解决:


    在lib2.php文件中并没有使用命名空间。现在我们要访问。


    在访问之前加一个反斜杠就可以了


    当然一个文件中可以使用多个命名空间,使用namespace SPACENAME{....}就可以创建 ,但是通常我们不会这么用。

你可能感兴趣的:(PHP)