PHP 在同一文件中定义多个命名空间


引言

使用.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

推荐使用括号语法来定义多个命名空间,而不是组合语法。括号和非括号命名空间不能混合。除了一个打开的 declare 语句,没有其他 PHP 代码可能存在于命名空间括号之外。如果你必须将全局命名空间与命名命名空间合并,则只允许使用括号语法。

更新于: 18-9月-2020

549 次访问

职业生涯的启航

完成课程获得认证

开始吧
广告