命名空间主要解决class类/function 函数/常量 等一些的命名冲突问题
比如:标题文章和图片文章我们两个类名都命名为article就会冲突,就会去选择修改类名来解决此类冲突,如果使用命名空间,就可以两个都用article,然后调用示例如下:
<?php //标题文章 namespace Article; const one = 1 ; class article{ function __construct(){ echo 'article-1<br/>'; } } //图片文章 namespace Image; const one = 2; class article{ function __construct(){ echo 'article-2<br/>'; } } new article();//输入出article-2,默认调用后面一个article new \Article\article();//输出article-1 new \Image\article();//输出article-2 echo one. '<br/>';//输出2 echo \Article\one.'<br/>';//输出1 echo \Image\one. '<br/>';//输出2 ?>
官方详解:http://php.net/manual/zh/language.namespaces.rationale.php