PHP中的闭包回调(Laravel 5)

时间:2015-05-25 15:27:22

标签: php closures laravel-5

我正在学习Laravel 5,并对这些代码行(创建服务提供商)感到有点困惑:

 public function register()
{
    $this->app->singleton('Riak\Contracts\Connection', function($app)
    {
        return new Connection($app['config']['riak']);
    });
}

我无法理解$app变量,并将它传递到函数中?谢谢!

P.S。如果我错了,请更正,我读了一些帖子,以及我如何理解闭包是一个使用来自外部范围的变量(通过使用use ())的函数,而lambda函数只是关闭什么不使用这些变量。或者我想念什么?

2 个答案:

答案 0 :(得分:1)

调用它时,$this->app->singleton$app传递给回调闭包。

答案 1 :(得分:1)

匿名函数是Callable,它传递给对象singleton中的函数$app

函数singleton然后调用传递给它的Callable(匿名函数),并将$app作为参数传递给匿名函数。