Как в laravel 4.2, так и в laravel 5.3 существует возможность использовать неявный контроллер. Синтаксис одинаковый для обеих версий.Как передать параметр в неявный контроллер в Laravel 5?
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}', '[email protected]')
в файл маршрута, но, кроме того, явно указать в файле маршрута, есть ли способ по умолчанию?
Как эта строка указывает, что контроллер Route :: больше не работает? На самом деле, я использую Route :: controller, и он отлично работает, за исключением части параметра передачи. – cytsunny
В 5.3 это даст вам ошибку «Контроллер метода не существует». –