源码问题请教
src/Illuminate/Container/Container.php
有下面这段代码,其中$container这个参数是没有的,这里为什么可以这样用?
/**
* Get the Closure to be used when building a type.
*
* @param string $abstract
* @param string $concrete
* @return \Closure
*/
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
);
};
}
匿名函数的用法
具体的用法是这样的
$this->getClosure($abstract, $concrete)($container, $parameters)