您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

浅谈PHP中use关键字的3种使用方法

2026/1/13 8:15:01发布15次查看
本篇文章给大家介绍一下use关键字在php中的种常见用法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
1. 用于命名空间的别名引用
// 命名空间include 'namespace/file1.php';use file1\objecta;use file1\objecta as objectb;echo file1\const_a, php_eol; // 2$oa = new objecta();$oa->test(); // file1\objecta$ob = new objectb();$ob->test(); // file1\objecta
这个想必在日常的工程化开发中会非常常见。毕竟现在的框架都是使用了命名空间的,不管做什么都离不开各种类依赖的调用,在各种控制器文件的上方都会有大量的use xxx\xxx\xxx;语句。
2. 用于trait特性能力的引入
// traittrait a{ function testtrait(){ echo 'this is trait a!', php_eol; }}class b { use a;}$b = new b();$b->testtrait();
即使在最近这两年,依然还是见过完全没有用过trait的php程序员,不要惊讶,这是真实存在的。想想还有那么多项目都还在用tp3也就不奇怪了。trait特性还是非常方便的一种类功能扩展模式,其实我们可以看作是将这个use放在了类中就成为了trait的引用定义了。
3. 匿名函数传参
// 匿名函数传参$a = 1;$b = 2;// function test($fn) use ($a) // arse error: syntax error, unexpected 'use' (t_use), expecting '{' function test($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%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
推荐学习:《php视频教程》
以上就是浅谈php中use关键字的3种使用方法的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product