我是靠谱客的博主 鲜艳小兔子,最近开发中收集的这篇文章主要介绍浅谈PHP中use关键字的3种使用方法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

本篇文章给大家介绍一下use关键字在PHP中的种常见用法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

1. 用于命名空间的别名引用

// 命名空间
include 'namespace/file1.php';

use FILE1objectA;
use FILE1objectA as objectB;

echo FILE1CONST_A, PHP_EOL; // 2

$oA = new objectA();
$oA->test(); // FILE1ObjectA

$oB = new objectB();
$oB->test(); // FILE1ObjectA
登录后复制

这个想必在日常的工程化开发中会非常常见。毕竟现在的框架都是使用了命名空间的,不管做什么都离不开各种类依赖的调用,在各种控制器文件的上方都会有大量的use xxxxxxxxx;语句。

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视频教程》

以上就是浅谈PHP中use关键字的3种使用方法的详细内容,更多请关注靠谱客其它相关文章!

最后

以上就是鲜艳小兔子为你收集整理的浅谈PHP中use关键字的3种使用方法的全部内容,希望文章能够帮你解决浅谈PHP中use关键字的3种使用方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(85)

评论列表共有 0 条评论

立即
投稿
返回
顶部