PHP名称空间关键字和__NAMESPACE__常量
介绍
在PHP中,namespace关键字用于定义命名空间。它也用作运算符,请求访问当前命名空间中的某些元素。该 __NAMESPACE__当前命名空间的报酬不变名称
__NAMESPACE常量
__NAMESPACE__从命名的命名空间返回其名称,对于全局和未命名的命名空间,它返回空值
示例
#test1.php <?php echo "name of global namespace : " . __NAMESPACE__ . "\n"; ?>
输出结果
返回一个空字符串
name of global namespace :
对于命名空间,返回其名称
示例
<?php namespace myspace; echo "name of current namespace : " . __NAMESPACE__ . "\n"; ?>
输出结果
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