在laravel配置文件中使用命名路由

时间:2018-05-18 12:00:18

标签: php laravel facebook multilingual

我试图在laravel service.php配置文件中使用命名路由 但是错误的是路线没有定义,即使它是。

路由/ web.php:

Route::get('social/{provider}/callback', 'Auth\SocialAuthController@handleProviderCallback')
->name('social.callback');

service.php:

'facebook' => [
    'client_id' => 'XXXXXXXXXXXXXXXX',
    'client_secret' => 'YYYYYYYYYYYYYYYYYYYYYYYYYYYYYY',
    'redirect' => route('social.callback', 'facebook'),
],

2 个答案:

答案 0 :(得分:2)

你应该试试这个:

您的配置文件

return [
    'url' => 'admin.index',
]

您的刀片文件

<a href="{!! route(config('yourConfig.url')) !!}">Admin</a>

更新回答:

或者您应该在.env文件中设置参数并将.env文件变量放在配置文件中并像以下一样访问它:

FACEBOOK_CLIENT_ID=XXXXXXXXXXXXXXXX
FACEBOOK_CLIENT_SECRET=YYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
CALLBACK_URL=http://www.your_url.com/social/handle/facebook

答案 1 :(得分:1)

我们无法在配置文件中使用laravel函数,因为它们是在Laravel库之前加载的

只需将路径和参数保存为字符串

'facebook' => [
    'client_id'     => 'XXXXXXXXXXXXXXXX',
    'client_secret' => 'YYYYYYYYYYYYYYYYYYYYYYYYYYYYYY',
    'redirect'      => [ 
        'url' => 'social.callback',
        'parameter' => 'facebook'
    ]
]