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 代码可能存在于命名空间括号之外。如果你必须将全局命名空间与命名命名空间合并,则只允许使用括号语法。
广告