如何在命名空间中引入另一空间元素?
空间引入方式:使用use关键字
<?php
namespace n1;
class OK{};
namespace n2;
//一种方式
new
1OK();
//第二种方式
use n1OK;
new OK();
?>
空间引入的元素默认是类,如果要引入其他元素,就必须使用相应关键字:function和const(如果需要引入同种元素的多个元素,需要使用","隔开)
<?php
namespace n1;
class OK{};
function display(){
echo "display";
}
const P=10;
const A=11;
namespace n2;
use n1OK; //引入类
use function n1display; //引入函数
use const n1A,n1P; //引入常量,可以同时引入多个
display();
echo P;
new OK();
?>
如果需要同时添加多个元素
<?php
namespace n1;
class OK{};
function display(){
echo "n1中的display";
}
const P=10;
const A=11;
namespace n2;
use n1{
OK,
const P,
const A
};
?>
如果被引入的元素在当前空间已经存在,则会出现重名,解决方案是使用别名 as 关键字进行重命名
<?php
namespace n1;
class OK{};
function display(){
echo "n1中的display";
}
const P=10;
const A=11;
namespace n2;
function display(){
echo "n2中的display";
}
use n1OK; //引入类
use function n1display as display2;//引入函数
use const n1P,n1A; //引入常量
display2();
echo P." ".A;
new OK();
?>
如果一个空间里的所有元素都需要引入进来,也可以直接引入空间
<?php
namespace n1
2;
class OK{
public function __construct()
{
echo __NAMESPACE__."<br>";
}
}
namespace n2;
class OK{
public function __construct()
{
echo __NAMESPACE__."<br>";
}
}
//引入空间
use n1
2;
new OK(); //访问的是n2OK
new n2OK(); //使用引入空间的最后一级空间访问
?>
推荐:php教程,php视频教程

