如何在配置文件中使用路由助手

所以我有一个名为的配置文件,services.php其内容如下


[

    'facebook' => [ 'url' => 'https://...']

]

但我想要这样的:


[

    'facebook' => [ 'url' => url(route('socialite-callback', ['provider' => 'facebook']))]

]

然而tinker,这样的代码会报告:


Argument 2 passed to Illuminate\Routing\UrlGenerator::__construct() must be an instance of Illuminate\Http\Request, null given, called in /laravel/justitalianwine_ecommerce/vendor/laravel/framework/src/Illuminate/Routing/RoutingServiceProvider.php on line 68

但如果我使用第一个喜欢,然后打开tinker并粘贴此:


url(route('socialite-callback', ['provider' => 'facebook']))

效果很好


幕布斯7119047
浏览 137回答 1
1回答

慕尼黑8549860

您收到此错误的原因“可能”是在加载配置后加载/引导辅助方法。一种方法是使用RouteServiceProvider您需要的这些类型用法来初始化/设置配置。class RouteServiceProvider extends ServiceProvider{    // other methods and fields...    public function map()    {        $this->mapApiRoutes();        $this->mapWebRoutes();        $this->mapServiceRoutes();    }    protected function mapServiceRoutes()    {        config()->set('services.facebook.url', url(route('socialite-callback', ['provider' => 'facebook'])));    }}
打开App,查看更多内容
随时随地看视频慕课网APP