首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么是“使用函数”表达式?

什么是“使用函数”表达式?
EN

Stack Overflow用户
提问于 2018-08-22 15:33:48
回答 1查看 565关注 0票数 2

我看到了这个片段,我不明白为什么使用use function array_map表达式?

代码语言:javascript
复制
<?php

namespace Project\MyProject;

use function array_map;

class MyProjectClass 
{
    protected $arr = [];
    public function __construct(array $arr)
    {
        $this->arr = array_map('trim', $arr);
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-23 14:09:53

正如how to call global functions classes from namespace PHP中提到的

代码语言:javascript
复制
use function array_map;

将全局函数别名到本地命名空间中。

  • 这通常是不必要的。
  • 无论如何,PHP都会在全局范围内查找函数。
  • 只有在重新声明当前命名空间中的全局函数时,才有意义。
    • 这是一种罕见的情况。
    • 但是如果你有(这叫做“猴子补丁”),那么你也不会想用use function来破坏它。

引入use function的真正原因是:

  • 用于实际别名/重命名函数:
代码语言:javascript
复制
- `use function App\Helpers\my_mappymcmapface as array_map;`
- `use function \trim as chomp;`

  • 而且还因为PHP以前一直在用\trim\strpos乱扔他们的代码库。
代码语言:javascript
复制
- That was one of those unwarranted micro-performance optimizations.

所以是的,对这个案子来说,这是毫无意义的装饰。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51970332

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档