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

phpserver side programmingprogramming更新于 2025/8/19 21:52:17

简介

在 PHP 中,namespace 关键字用于定义命名空间。它也可用作运算符,请求访问当前命名空间中的特定元素。__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

命名空间运算符

namespace 关键字可以用作类的 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

相关文章