一个扩展名为.php的文件可以定义多个命名空间。为此,规定了两种不同的方法。组合语法和方括号内的语法
在此示例中,两个命名空间定义为一个在另一个之下。在第二个定义开始之前,第一个命名空间中的资源可用。如果要使命名空间成为当前名称,请使用use关键字加载它。
<?php namespace myspace1; function hello() { echo "Hello World from space1\n"; } echo "myspace1 : "; hello(); namespace myspace\space2; function hello(){ echo "Hello World from space2\n"; } echo "myspace2 : "; hello(); use myspace1; hello(); use myspace2; hello(); ?>
输出结果
上面的代码显示以下输出
myspace1 : Hello World from space1 myspace2 : Hello World from space2 Hello World from space2 Hello World from space2
在以下示例中,定义了两个命名空间,它们的范围用大括号括起来
<?php namespace myspace1{ function hello() { echo "Hello World from space1\n"; } echo "myspace1 : "; hello(); } namespace myspace\space2{ function hello(){ echo "Hello World from space2\n"; } echo "myspace2 : "; hello(); } ?>
输出结果
上面的代码显示以下输出
myspace1 : Hello World from space1 myspace2 : Hello World from space2
建议使用多个命名空间的方括号语法,而不要使用组合语法。括号和未括号的命名空间不能混合使用。除了开头的声明语句外,在命名空间括号之外可能没有其他PHP代码。如果必须将全局命名空间与命名命名空间组合在一起,则仅允许使用方括号括起来的语法。