批改状态:合格
老师批语:
用大括号语法实现在一个脚本中创建多个命名空间并访问成员
<?php
/**
* 在一个文件中创建多个命名空间
*/
namespace Demo1
{
function show()
{
echo '当前命名空间是:',__NAMESPACE__,'<br>';
}
}
namespace Demo2
{
function show()
{
echo '当前命名空间是:',__NAMESPACE__,'<br>';
}
echo show(),'<br>';
echo \Demo1\show(),'<hr>';
}
namespace
{
echo \Demo1\show(),'<br>';
echo \Demo2\show();
}点击 "运行实例" 按钮查看在线实例

以别名方式访问命名空间下的类、属性和方法
<?php /** * 以别名方式访问命名空间下的类、属性和方法 */ use \Demo1\Demo as De1; require 'space/tr1.php'; echo (new De1)::NAME,'<br>'; echo (new De1)->fun,'<br>'; echo (new De1)->show(),'<br>';
点击 "运行实例" 按钮查看在线实例
<?php
namespace Demo1
{
class Demo
{
const NAME = 'space1';
public $fun = __NAMESPACE__;
public function show()
{
echo __NAMESPACE__,'下的',__FUNCTION__,'方法';
}
}
}点击 "运行实例" 按钮查看在线实例

非限定名称,限定名称和完全限定名称的命名空间之间的区别:
非限定名称不包含命名空间分隔符的标识符,限定名称含有命名空间分隔符的标识符,完全限定名称包含命名空间分隔符,并以命名空间分隔符开始的标识符。
非限定名称,限定名称和完全限定名称的命名空间之间的联系:
都需要使用use导入
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号