这个闭包看不懂

protected function getClosure($abstract, $concrete)
    {
        return function ($container, $parameters = []) use ($abstract, $concrete) {
            if ($abstract == $concrete) {
                return $container->build($concrete);
            }

            return $container->resolve(
                $concrete, $parameters, $raiseEvents = false
            );
        };
    }

这个是
D:\laravel5.8\vendor\laravel\framework\src\Illuminate\Container\Container.php
第265 行,看了下不知道是什么意思

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 2

翻看这个方法被调用的地方,注释写的很清楚,就是为了将不是闭包的参数转换为闭包,所以 getClosure 返回了闭包。

如果工厂不是一个闭包,这意味着它只是一个绑定到这个容器中的抽象类型的类名,我们将把它包装在它自己的闭包中,以便在扩展时更方便。(有道翻译)

file

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!