Laravel 5 - 单身人士的预期位置

Laravel 5 - expected location for a singleton

大家好!

我想为我的 oauth 服务器创建一个单例,如下所示:

App::singleton('oauth2', function() {
    // connect to the oauth2 server, check grant type, client credentials....
});

目前它在我的路线中,并且有效......我稍后在路线中调用它。但让我恼火的是它就在这里,感觉有点不在它的位置上。从 Laravel 开始,我需要一点帮助 :)

提前致谢!

您可以为此创建一个 Service Provider。首先使用此命令创建提供程序:

php artisan make:provider OAuthServiceProvider

新的提供商将在 app/Providers/OAuthServiceProvider.php 中生成。然后在provider的register方法中注册单例:

<?php namespace App\Providers;

use Illuminate\Support\ServiceProvider;

class OAuthServiceProvider extends ServiceProvider {

    public function register()
    {
        $this->app->singleton('oauth2', function()
        {
            // connect to the oauth2 server, check grant type, client credentials....
        });
    }

}

然后将新的提供者添加到config/app.php中的providers数组中:

'providers' => [
    ...
    'App\Providers\OAuthServiceProvider',
]