[英]How to pass parameter to implicit controller in Laravel 5?
在laravel 4.2和laravel 5.3中,路由中都有使用隱式控制器的選項。 兩種版本的語法相同。
Route::controller('myroute', 'myDearController');
因此,URL為:
http://my.domain.com/myroute/function-name/parameter1/parameter2
在laravel 4中,控制器如下所示:
//..... Some other controller related syntax ......
public function getFunctionName($parameter1, $parameter2) {
$inputs = Input::all();
dd($inputs);
}
//..... Some other controller related syntax ......
但是,在laravel 5中,要獲取GET輸入,它將占據一個參數位置,因此我嘗試進行如下操作:
//..... Some other controller related syntax ......
public function getFunctionName(Request $request, $parameter1, $parameter2) {
$inputs = $request->all();
dd($inputs);
}
//..... Some other controller related syntax ......
但是,URL返回The site can't be reached
。 我嘗試過換位置
//..... Some other controller related syntax ......
public function getFunctionName( $parameter1, $parameter2, Request $request) {
$inputs = $request->all();
dd($inputs);
}
//..... Some other controller related syntax ......
這是行不通的。 我知道我可以將Route::get('myroute/function-name/{$parameter1}/{$parameter2}', 'myDearController@getFunctionName')
到路由文件中,但除了在路由文件中明確指定外,有默認的方法嗎?
對於顯式路由,它應該是{parameter}
而不是{$parameter}
。 所以,
Route::get('myroute/function-name/{parameter1}/{parameter2}', 'myDearController@getFunctionName')
Route::resource('myroute', 'myDearController');
如果您隨后使用php artisan route:list ,則會看到所有路由的列表。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.