Эталонный маршрут с параметром - Laravel/Lumen

У меня есть маршрут, который я объявляю так;

Route::get('invite/{code}', ['middleware' => ['qwickLoggedIn'], 'uses' =>'WebController@signup_invite'])->name('signup_invite');

Как видите, у маршрута есть параметр {code}Как я могу ссылаться на маршрут, используя route или же url?

Как в коде ниже?

public function account_verification () {

    $referer = Request::header('referer');

    if ($referer != url('login') && $referer != url('signup') && $referer != url('invite/{code}') && $referer != url('account-verification-code')) {
        return redirect()->route('/');
    }

    $year = $this->copyright_info('2015');
    return view('pages.account-verification', ['year' => $year]);
}

Я ставлю это как $referer != url('invite/{code}') но это не работает также $referer != url('invite') не работает так же... Также используя route('signup_invite');

Я получаю ошибку UrlGenerationException in UrlGenerationException.php line 17: Missing required parameters for [Route: signup_invite] [URI: invite/{code}].

Любая помощь приветствуется

1 ответ

Это выглядит грязно, но вы можете разобрать $referrer с помощью parse_url функционировать и затем поставить условия для компонентов:

$referer = Request::header('referer');

$path = parse_url($referer, PHP_URL_PATH);
$path = explode( '/', $path );

if ($referer != url('login') && $referer != url('signup') && ( parse_url($referer, PHP_URL_HOST) == parse_url( url('/'), PHP_URL_HOST ) && $path[1] == 'invite' && !empty($path[2]) ) && $referer != url('account-verification-code')) {
    return redirect()->route('/');
}
Другие вопросы по тегам