php中命名空间的引入方法

如果php中的命名空间需求较多,可以创建多级空间来解决,但这样也产生了许多不便之处。为了使代码部分进行简化,我们又增加了引入的方法,通过use关键字来实现,主要是给对象起别名的方法。下面我们就命名空间的引入好处、use关键字使用、引入实例分别带来详解。

1.命名空间引入好处

(1)命名空间可以声明为多级空间,这个多级空间元素在其他空间内部访问的时候,不得已需要通过完全限定名称方式,这个完全限定名称不方便开发、维护、使用。

(2)为了降低代码的复杂度,可以在当前的空间把指定的空间给引入进来,进而可以方便地通过“限定名称”的方便的形式使用其他空间的元素.

2.使用use关键字

如果引入类与当前空间的类起冲突时,可以使用as起别名;如use App\Student as Stu;

使用use引入后,可以直接使用类名称;$student = new Student()

3.实例

<?php

/**
*命名空间的导入,本质上就是用一个别名,来简化一个比较长的多级的命名空间名称
*
*导入主要针对类空间,PHP5.6以后,也支持常量与函数空间名称导入
*
*导入空间默认名称主要用use,空间别名的简化用as
*使用use导入空间别名,可用as来自定义别名,防止空间重名
*/

namespaceapp\index\controller;
constCITY='北京';

functionsay()
{
return'Helloworld!';
}

classUser
{
publicfunctionhello()
{
return"I'mfine,thankyou!";
}
}

namespacemyspace;

//不使用use来简化空间名称

echo\app\index\controller\CITY.'<br>';
echo\app\index\controller\say().'<br>';
$user=new\app\index\controller\User;
echo$user->hello();
echo'<hr>';

//用use来导入一个命名空间,并起个简短的名称
useconstapp\index\controller\CITY;
usefunctionapp\index\controller\say;
useapp\index\controller\User;
echoCITY.'<br>';
echosay().'<br>';
$user=newUser;
echo$user->hello();
echo'<hr>';

//用as来进一步简化空间的名称
useconstapp\index\controller\CITYasC;
usefunctionapp\index\controller\sayass;
useapp\index\controller\UserasU;
echoC.'<br>';
echos().'<br>';
$user=newU;
echo$user->hello();
echo'<hr>';

发表回复