当前位置: 首页 > 后端技术 > PHP

PHP中use关键字的几种用法

时间:2023-03-29 13:52:15 PHP

学习和使用PHP这么多年,你知道PHP中use关键字有哪些用途吗?今天我们就来看看它的三种常见用法。1.Aliasreferencefornamespace//namespaceinclude'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在日常工程开发中一定很常见。毕竟,当前的框架使用命名空间。无论做什么,都离不开各类依赖的调用。会有大量使用xxx\xxx\xxx;各种控制器文件上方的语句。2.对于traittrait能力的引入//traittraitA{functiontestTrait(){echo'ThisisTraitA!',PHP_EOL;}}classB{使用A;}$b=newB();$b->testTrait();即使在过去的两年里,我仍然看到根本没有使用过trait的PHP程序员。不要惊讶,这是真的。这么多项目仍在使用TP3也就不足为奇了。trait特性仍然是一种非常方便的类功能扩展方式。其实我们可以把它看做是把这个使用放在类中时对trait的引用定义。3.匿名函数传参//匿名函数传参$a=1;$b=2;//functiontest($fn)use($a)//asserror:syntaxerror,unexpected'use'(T_USE),期待'{'函数测试($fn){global$b;echo'测试:',$a,'---',$b,PHP_EOL;//测试:---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%E5%85%B3%E9%94%AE%E5%AD%97%E5%9C%A8PHP%E4%B8%AD%E7%9A%84%E5%87%A0%E7%A7%8D%E7%94%A8%E6%B3%95.php各个媒体平台都可以搜索【硬核专案经理】