W obu wersjach językowych: laravel 4.2 i laravel 5.3 istnieje możliwość użycia kontrolera niejawnego w trasie. Składnia jest taka sama dla obu wersji.Jak przekazać parametr do niejawnego kontrolera w Laravel 5?
Route::controller('myroute', 'myDearController');
Więc URL będą:
http://my.domain.com/myroute/function-name/parameter1/parameter2
W laravel 4, regulator będzie wyglądać następująco:
//..... Some other controller related syntax ......
public function getFunctionName($parameter1, $parameter2) {
$inputs = Input::all();
dd($inputs);
}
//..... Some other controller related syntax ......
Jednak w laravel 5, aby uzyskać wejście GET, to zajmuje miejsce parametrów, więc próbowałem zrobić coś takiego:
//..... Some other controller related syntax ......
public function getFunctionName(Request $request, $parameter1, $parameter2) {
$inputs = $request->all();
dd($inputs);
}
//..... Some other controller related syntax ......
Jednak adres URL zwraca The site can't be reached
. Próbowałem zmienić pozycję,
//..... Some other controller related syntax ......
public function getFunctionName($parameter1, $parameter2, Request $request) {
$inputs = $request->all();
dd($inputs);
}
//..... Some other controller related syntax ......
To nie działa. Wiem, że mogę dodać wiersz Route::get('myroute/function-name/{$parameter1}/{$parameter2}', '[email protected]')
do pliku trasy, ale poza tym, że w pliku trasy wyraźnie określono, czy jest to domyślny sposób?
W jaki sposób linia ta wskazuje, że kontroler Route :: już nie działa? W rzeczywistości używam kontrolera Route :: i działa dobrze, z wyjątkiem części przekazywanego parametru. – cytsunny
W 5.3 dadzą ci komunikat "Brak kontrolera metody nie istnieje". –