PHP 在同一个文件中定义多个命名空间
phpserver side programmingprogramming更新于 2025/7/19 1:37:17
简介
可以在一个扩展名为 .php 的文件中定义多个命名空间。为此,有两种不同的方法:组合语法和括号语法。
使用组合语法的多个命名空间
在此示例中,两个命名空间被依次定义。第一个命名空间中的资源在第二个命名空间定义开始之前一直可用。如果要将某个命名空间设为当前命名空间,请使用 use 关键字加载它。
示例
<?php
namespace myspace1;
function hello() {
echo "Hello World from space1
";
}
echo "myspace1 : ";
hello();
namespace myspace\space2;
function hello(){
echo "Hello World from space2
";
}
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
";
}
echo "myspace1 : ";
hello();
}
namespace myspace\space2{
function hello(){
echo "Hello World from space2
";
}
echo "myspace2 : ";
hello();
}
?>
输出
以上代码显示以下输出
myspace1 : Hello World from space1 myspace2 : Hello World from space2
建议使用带括号的语法来表示多个命名空间,而不是组合语法。带括号和不带括号的命名空间不能混用。除开头的声明语句外,命名空间括号之外不能存在任何其他 PHP 代码。如果必须将全局命名空间与命名命名空间组合使用,则只允许使用带括号的语法。

