【问题标题】:Closure callbacks in PHP (Laravel 5)PHP 中的闭包回调(Laravel 5)
【发布时间】:2015-08-07 02:58:28
【问题描述】:

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

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

我无法理解$app 变量,以及它将从哪里传递给函数?谢谢!

附:如果我错了,请纠正,我读了一些帖子,我如何理解闭包是一个匿名函数,它使用外部范围的变量(通过使用use ()),而 lambda 函数只是不使用这些变量的闭包。还是我错过了什么?

【问题讨论】:

    标签: php closures laravel-5


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2016-04-06
        • 1970-01-01
        • 1970-01-01
        • 2016-02-01
        • 1970-01-01
        • 2015-10-16
        • 2019-10-17
        • 2012-12-08
        • 1970-01-01
        相关资源
        最近更新 更多