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 代码。如果必须将全局命名空间与命名命名空间组合使用,则只允许使用带括号的语法。


相关文章