PHP 命名空间关键字和 __NAMESPACE__ 常量


介绍

在 PHP 中,命名空间关键字用来定义命名空间。它还用作获得当前命名空间中的某些元素访问权的操作符。 __NAMESPACE__ 常量返回当前命名空间的名称

__NAMESPACE__ 常量

从已命名命名空间中,__NAMESPACE__ 返回其名称,而从全局和未命名命名空间中,它返回空字符串

范例

 实时演示

#test1.php
<?php
echo "name of global namespace : " . __NAMESPACE__ . "
"; ?>

输出

返回一个空字符串

name of global namespace :

从已命名命名空间中,返回其名称

范例

 实时演示

<?php
namespace myspace;
echo "name of current namespace : " . __NAMESPACE__ . "
"; ?>

输出

name of current namespace : myspace

动态名称构造

__NAMESPACE__ 常量对于动态构造名称非常有用

范例

 实时演示

<?php
namespace MyProject;
class myclass {
   function hello(){echo "hello world";}
};
$cls="myclass";
function get($cls){
   $a = __NAMESPACE__ . '\' . $cls;
   return new $a;
}
get($cls)->hello();
?>

输出

上面的代码显示了以下输出

hello World

命名空间操作符

命名空间关键字可用作 self 对类的操作符的等价物,以从当前命名空间或子命名空间中明确请求元素。

范例

 实时演示

<?php
namespace Myspace;
class myclass {
   function hello(){echo "hello Myspace";}
}
$a = new namespace\myclass();
$a->hello();
?>

输出

上面的代码显示了以下输出

hello Myspace

从全局命名空间中,命名空间操作符引用当前命名空间中的函数/类,即全局命名空间

范例

 实时演示

<?php
class myclass {
   function hello(){echo "hello global space";}
}
$a = new namespace\myclass();
$a->hello();
?>

输出

上面的代码显示了以下输出

hello global space

更新时间:18 年 9 月 2020 日

342 次浏览

开启你的 职业生涯

完成课程后获得认证

开始学习
广告
© . All rights reserved.