劝酒文化 security authentication magento graph cocos2d html5 Movejs vue开发文档 网络营销视频教程 click事件 jq遍历元素 jquery第一个子元素 jquery延时 mysql删除一列 matlab图像滤波 dwf文件怎么转成dwg 普通话网上报名 python创建txt文件并写入 windows安装python环境 python程序实例 python位操作 javamysql java集成 java学习教程 怎么安装java环境 java重命名 java常用数据结构 windows7loader decimalformat 圣剑世界 matlab2016a安装教程 kms神龙版 电视免费软件 摩斯密码翻译器 js包含字符串 如何用ai设计字体 电脑书籍下载 磁芯大战 淘宝抽奖活动 kz文件
当前位置: 首页 > 学习教程  > 编程语言

PHP 中的 use function是什么意思

2020/11/24 9:32:09 文章标签: 测试文章如有侵权请发送至邮箱809451989@qq.com投诉后文章立即删除

参考官方文档&#xff1a;https://www.php.net/manual/en/language.namespaces.importing.php 作用&#xff1a; 1、主要作用是为了引用命名空间 2、主要目的是为了防干扰。 代码示例&#xff1a; <?phpnamespace App {// 当前在 App 命令空间下定义了一个 array_map 方法…

参考官方文档:https://www.php.net/manual/en/language.namespaces.importing.php

作用:

1、主要作用是为了引用命名空间
2、主要目的是为了防干扰。

代码示例:

<?php

namespace App {
    // 当前在 App 命令空间下定义了一个 array_map 方法,
    function array_map(string $func, array $array)
    {
        var_dump(__FUNCTION__ ,$func,implode(',',$array));
    }
    // 现在我们使用 array_map 就会默认使用当前命名空间下的
    array_map('自定义的', [1]);
    // 在 App 命名空间内,如果想要使用系统的 array_map ,有两种办法
    // A.使用 \ 表示使用根命名空间下的方法
    \array_map(function($i){
        echo $i.PHP_EOL;
    },[123]);
    // B.使用 use function array_map ,但是光这样是不行的,
    // 还需要给他一个别名,因为在当前命名空间下已经有一个名字
    // 叫 array_map 的方法了,直接 use 会导致命名空间冲突
    use function \array_map as o_array_map;
    o_array_map(function($i){
        echo $i.PHP_EOL;
    },[123]);

}
// 以下同理
namespace Run {
    // 先引入了自带的 array_map 
    use function \array_map;
    // 调用正常,
    array_map(function ($i) {
        echo $i . PHP_EOL;
    }, [1, 2, 3]);
    // 这里又引入了上面 \App\array_map ,同样,因为上面的引入已经占用了,
    // 所以这里必须给一个别名,避免冲突
    use function \App\array_map as AppArrayMap;
    AppArrayMap('自定义的', [4, 5, 6]);
    // 或者使用完整命名空间,这里 App 前面为啥要加 \ 号呢,你可以理解为
    // 在文件系统中,相对路径和绝对路径的关系,如果前面没有 \ 就会变成 \Run\App\array_map 了。
    \App\array_map('自定义的2',[4,5,6]);
}

// 即,谁先 use 进来,就表示了当前命名空间下,先用谁的,
// 后面要用就必须要限定他的完整命名空间,或者给他一个别名
// 当然,如果当前命名空间下不存在这个方法,默认会去调用系统的
// 如果系统也没有这个方法,就会抛出方法不存在的错误
// 

 


本文链接: http://www.dtmao.cc/news_show_400047.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?