php use as是什么意思,use关键字在PHP中的几种用法
在学习了和使用了这么多年的PHP之后,您知道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特性能力的引入
// trait
trait 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()也是可以将变量传递过去的。而且这个仅限于在匿名函数中使用。
php use as是什么意思,use关键字在PHP中的几种用法相关推荐
- pandas关键字提取_Pandas中文官档~基础用法3
呆鸟云:"觉得有用,就请点个在看,哈哈" 函数应用 不管是为 pandas 对象应用自定义函数,还是应用其它第三方函数,都离不开以下三种方法.用哪种方法取决于操作的对象是 Data ...
- Java中final关键字的几种用法
在java的关键字中,static和final是两个我们必须掌握的关键字.不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构.下面大家跟随动力节点java ...
- scala语言示例_var关键字与Scala中的示例
scala语言示例 Scala var关键字 (Scala var keyword) The var Keyword in scala is used to declare variables. As ...
- Java提高篇 —— Java关键字之final的几种用法
一.前言 在java的关键字中,static和final是两个我们必须掌握的关键字.不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构.下面我们来了解一下 ...
- Java提高篇 —— Java关键字之static的四种用法
一.前言 在java的关键字中,static和final是两个我们必须掌握的关键字.不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构.下面我们先来了解一 ...
- PHP: 关键字global 和 超全局变量$GLOBALS的用法、解释、区别
$GLOBALS 是一个关联数组,每一个变量为一个元素,键名对应变量名,值对应变量的内容.$GLOBALS 之所以在全局范围内存在,是因为 $GLOBALS 是一个超全局变量. php语法中,很多人都 ...
- 微课系列(6):Python关键字else的三种用法
技术要点:Python关键字else在选择结构.循环结构和异常处理结构中的三种用法. ----------相关阅读---------- 教学课件 1900页Python系列PPT分享一:基础知识(10 ...
- final关键字_夯实基础:Java中final关键字的几种用法
导语 在java的关键字中,static和final是两个我们必须掌握的关键字.不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构. 关于static请查 ...
- 【零基础学Java】—final关键字与四种用法(二十九)
[零基础学Java]-final关键字与四种用法(二十九) 一.final关键字 final关键字代表最终.不可改变的 常见的四种用法: 可以用来修饰一个类 可以用来修饰一个方法 可以用来修饰一个局部 ...
最新文章
- 这41条科研经验,让你少走很多弯路!
- 试试这个文字冒险游戏,故事是AI写的:情节丰满逻辑不乱,进去就出不来了,在线可玩...
- Django 搭建CMDB系统完整[1](用户登录)
- 手把手教你使用ECharts绘制可视化图表
- 高等组合学笔记(九): 球盒模型的十二模式,分拆的生成函数
- 【Swift 4.0】扩展 WCDB 支持 SQL 语句
- c++ 三角函数_精准备考 | 初中数学三角函数知识点全归纳
- 上海著名网络公司招聘高级软件工程师
- P2P端口映射 UPnP功能和使用详解
- 应用:邮件地址手机安装
- SVPWM调制中非零基础矢量的幅值是2/3Udc还是Udc?
- 基于STM32CubeMX在STM32F072C8T6移植Contiki OS
- 通讯与计算机网络在线作业,浙大秋通讯与计算机网络在线作业试题及答案
- 小记!华为 8.0系统切换APP内语言(中英文)无效(其他版本手机均有效)。
- 停车场门禁控制系统的状态机
- Web中的HTML、css、jQuery、js
- ncr管理系统_NCR餐饮系统操作指南
- 【云原生】了解微服务低代码平台
- 对软件公司财务管理方面的一些想法
- IntelliJ IDEA 运行卡顿解决方案
热门文章
- 【vue】使用vue+element搭建项目,Tree树形控件使用
- [摘录]第五章 与奋斗者分享利益
- 项目常用工具类整理(五)--jar包整理
- ANDROID 学习笔记(二) 用户登陆问题 TOKEN SESSION 缓存
- 基于8086CPU微处理器的汇编学习之PUSH、POP指令
- [转]javascript中style.left和offsetLeft的使用
- hdu1428(记忆化搜索)
- Oracle中的NULL(一、问题引入)
- VS2010强大的一塌糊涂
- android9.0不能用4g定位,Android 9.0新特性:让用户认为4G信号更强