如何在配置文件中使用路由帮助程序



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

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

但我想这样:

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

但是,tinker这样的代码将报告:

Argument 2 passed to IlluminateRoutingUrlGenerator::__construct() must be an instance of IlluminateHttpRequest, 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']))

它工作正常

我在这里解释了如何加载配置。

您收到此错误的原因"可能"是在加载配置后加载/引导帮助程序方法。

一种方法是使用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'])));
}
}

编辑:

此外,github中还有5 +年的问题提到了与您的类似情况。

相关内容

  • 没有找到相关文章

最新更新