命名空间 - 一个文件两个空间

  • 作者:KK

  • 发表日期:2018.8.12


前面举的 例子 中以一个文件一个类,每个类独立一个命名空间进行了示例,其实可以一个文件里有两个命名空间的,只是正常情况下我们都不这样写代码,在此我们只是了解一下这个特性而已:

namespace a;
class Test{}

namespace b;
class Test{}


print_r([
    new a\Test(),
    new b\Test()
]);

第一个 namespace 语句必须写在最顶行

如果你写成这样是不行的:

<?php
$a = 1;
namespace xxx;

class yyy{}

运行后报错:

PHP Fatal error:  Namespace declaration statement has to be the very first statement or after any declare call in the script

除非你把变量 $a 的赋值语句放在 namespace 语句的下面。