Использовать именованный маршрут в конфигурационных файлах laravel - PullRequest
0 голосов
/ 18 мая 2018

Я пытаюсь использовать именованный маршрут в конфигурационном файле laravel service.php, но ошибка, что маршрут не определен, даже если он есть.

routs / 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 голосов
/ 18 мая 2018

Мы не можем использовать функции laravel в конфигурационных файлах, поскольку они загружаются до библиотек Laravel

Просто сохраните маршрут и параметр в виде строки

'facebook' => [
    'client_id'     => 'XXXXXXXXXXXXXXXX',
    'client_secret' => 'YYYYYYYYYYYYYYYYYYYYYYYYYYYYYY',
    'redirect'      => [ 
        'url' => 'social.callback',
        'parameter' => 'facebook'
    ]
]
0 голосов
/ 18 мая 2018

Вы должны попробовать это:

Ваш конфигурационный файл

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
...