如何在配置文件中使用路由助手
How to use route helper in config file
所以我有一个名为 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']))
效果很好
我解释了如何加载配置 。
您收到此错误的原因“可能”是加载配置后辅助方法 loaded/bootstrapped。
一种方法是使用 RouteServiceProvider
到 initialize/set 您需要的这些类型用法的配置。
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 年以上的问题提到了与您类似的案例。
所以我有一个名为 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']))
效果很好
我解释了如何加载配置
您收到此错误的原因“可能”是加载配置后辅助方法 loaded/bootstrapped。
一种方法是使用 RouteServiceProvider
到 initialize/set 您需要的这些类型用法的配置。
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 年以上的问题提到了与您类似的案例。