在学习了和使用了这么多年的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中的几种用法相关推荐

  1. pandas关键字提取_Pandas中文官档~基础用法3

    呆鸟云:"觉得有用,就请点个在看,哈哈" 函数应用 不管是为 pandas 对象应用自定义函数,还是应用其它第三方函数,都离不开以下三种方法.用哪种方法取决于操作的对象是 Data ...

  2. Java中final关键字的几种用法

    在java的关键字中,static和final是两个我们必须掌握的关键字.不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构.下面大家跟随动力节点java ...

  3. scala语言示例_var关键字与Scala中的示例

    scala语言示例 Scala var关键字 (Scala var keyword) The var Keyword in scala is used to declare variables. As ...

  4. Java提高篇 —— Java关键字之final的几种用法

    一.前言 在java的关键字中,static和final是两个我们必须掌握的关键字.不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构.下面我们来了解一下 ...

  5. Java提高篇 —— Java关键字之static的四种用法

    一.前言 在java的关键字中,static和final是两个我们必须掌握的关键字.不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构.下面我们先来了解一 ...

  6. PHP: 关键字global 和 超全局变量$GLOBALS的用法、解释、区别

    $GLOBALS 是一个关联数组,每一个变量为一个元素,键名对应变量名,值对应变量的内容.$GLOBALS 之所以在全局范围内存在,是因为 $GLOBALS 是一个超全局变量. php语法中,很多人都 ...

  7. 微课系列(6):Python关键字else的三种用法

    技术要点:Python关键字else在选择结构.循环结构和异常处理结构中的三种用法. ----------相关阅读---------- 教学课件 1900页Python系列PPT分享一:基础知识(10 ...

  8. final关键字_夯实基础:Java中final关键字的几种用法

    导语 在java的关键字中,static和final是两个我们必须掌握的关键字.不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构. 关于static请查 ...

  9. 【零基础学Java】—final关键字与四种用法(二十九)

    [零基础学Java]-final关键字与四种用法(二十九) 一.final关键字 final关键字代表最终.不可改变的 常见的四种用法: 可以用来修饰一个类 可以用来修饰一个方法 可以用来修饰一个局部 ...

最新文章

  1. 这41条科研经验,让你少走很多弯路!
  2. 试试这个文字冒险游戏,故事是AI写的:情节丰满逻辑不乱,进去就出不来了,在线可玩...
  3. Django 搭建CMDB系统完整[1](用户登录)
  4. 手把手教你使用ECharts绘制可视化图表
  5. 高等组合学笔记(九): 球盒模型的十二模式,分拆的生成函数
  6. 【Swift 4.0】扩展 WCDB 支持 SQL 语句
  7. c++ 三角函数_精准备考 | 初中数学三角函数知识点全归纳
  8. 上海著名网络公司招聘高级软件工程师
  9. P2P端口映射 UPnP功能和使用详解
  10. 应用:邮件地址手机安装
  11. SVPWM调制中非零基础矢量的幅值是2/3Udc还是Udc?
  12. 基于STM32CubeMX在STM32F072C8T6移植Contiki OS
  13. 通讯与计算机网络在线作业,浙大秋通讯与计算机网络在线作业试题及答案
  14. 小记!华为 8.0系统切换APP内语言(中英文)无效(其他版本手机均有效)。
  15. 停车场门禁控制系统的状态机
  16. Web中的HTML、css、jQuery、js
  17. ncr管理系统_NCR餐饮系统操作指南
  18. 【云原生】了解微服务低代码平台
  19. 对软件公司财务管理方面的一些想法
  20. IntelliJ IDEA 运行卡顿解决方案

热门文章

  1. 【vue】使用vue+element搭建项目,Tree树形控件使用
  2. [摘录]第五章 与奋斗者分享利益
  3. 项目常用工具类整理(五)--jar包整理
  4. ANDROID 学习笔记(二) 用户登陆问题 TOKEN SESSION 缓存
  5. 基于8086CPU微处理器的汇编学习之PUSH、POP指令
  6. [转]javascript中style.left和offsetLeft的使用
  7. hdu1428(记忆化搜索)
  8. Oracle中的NULL(一、问题引入)
  9. VS2010强大的一塌糊涂
  10. android9.0不能用4g定位,Android 9.0新特性:让用户认为4G信号更强