我有一条这样声明的路线;
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]);
}我把is设为$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}].
感谢您的任何帮助
发布于 2016-02-19 15:42:46
它看起来很混乱,但您可以使用parse_url函数解析$referrer,然后为组件添加条件:
$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('/');
}https://stackoverflow.com/questions/35490286
复制相似问题