php含义及用法(use关键字在PHP中的几种用法)
在学习了和使用了这么多年的PHP之后,您知道use这个关键字在PHP中都有哪些用法吗?今天我们就来看一下它的三种常见用法,我来为大家讲解一下关于php含义及用法?跟着小编一起来看一看吧!
php含义及用法
在学习了和使用了这么多年的PHP之后,您知道use这个关键字在PHP中都有哪些用法吗?今天我们就来看一下它的三种常见用法。
1. 用于命名空间的别名引用
//命名空间
include'namespace/file1.php';
useFILE1\objectA;
useFILE1\objectAasobjectB;
echoFILE1\CONST_A,PHP_EOL;//2
$oA=newobjectA();
$oA->test();//FILE1\ObjectA
$oB=newobjectB();
$oB->test();//FILE1\ObjectA
这个想必在日常的工程化开发中会非常常见。毕竟现在的框架都是使用了命名空间的,不管做什么都离不开各种类依赖的调用,在各种控制器文件的上方都会有大量的use xxx\xxx\xxx;语句。
2. 用于trait特性能力的引入
//trait
traitA{
functiontestTrait(){
echo'ThisisTraitA!',PHP_EOL;
}
}
classB{
useA;
}
$b=newB();
$b->testTrait();
即使在最近这两年,依然还是见过完全没有用过trait的PHP程序员,不要惊讶,这是真实存在的。想想还有那么多项目都还在用TP3也就不奇怪了。trait特性还是非常方便的一种类功能扩展模式,其实我们可以看作是将这个use放在了类中就成为了trait的引用定义了。
3. 匿名函数传参
//匿名函数传参
$a=1;
$b=2;
//functiontest($fn)use($a)//arseerror:syntaxerror,unexpected'use'(T_USE),expecting'{'
functiontest($fn)
{
global$b;
echo'test:',$a,'---',$b,PHP_EOL;//test:---2
$fn(3);
}
test(function($c)use($a){
echo$a,'---',$b,'---',$c,PHP_EOL;
});
//1------3
这个就有点意思了吧,方法中要调用外部的变量是需要global的,在这里我们直接通过use()也是可以将变量传递过去的。而且这个仅限于在匿名函数中使用。
测试代码: https://github.com/zhangyue0503/dev-blog/blob/master/php/202001/source/use关键字在PHP中的几种用法.php
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com