Trong cả hai ấu trùng 4.2 và laravel 5.3, có một tùy chọn trong tuyến đường để sử dụng bộ điều khiển ngầm. Cú pháp giống nhau cho cả hai phiên bản.Làm cách nào để truyền tham số tới bộ điều khiển ngầm trong Laravel 5?
Route::controller('myroute', 'myDearController');
Vì vậy, các URL sẽ là:
http://my.domain.com/myroute/function-name/parameter1/parameter2
Trong laravel 4, bộ điều khiển sẽ trông giống như:
//..... Some other controller related syntax ......
public function getFunctionName($parameter1, $parameter2) {
$inputs = Input::all();
dd($inputs);
}
//..... Some other controller related syntax ......
Tuy nhiên, trong laravel 5, để có được đầu vào GET, nó chiếm một vị trí thông số, vì vậy tôi đã cố gắng thực hiện một cái gì đó như thế này:
//..... Some other controller related syntax ......
public function getFunctionName(Request $request, $parameter1, $parameter2) {
$inputs = $request->all();
dd($inputs);
}
//..... Some other controller related syntax ......
Tuy nhiên, URL trả về The site can't be reached
. Tôi đã thử chuyển đổi vị trí,
//..... Some other controller related syntax ......
public function getFunctionName($parameter1, $parameter2, Request $request) {
$inputs = $request->all();
dd($inputs);
}
//..... Some other controller related syntax ......
Nó không hoạt động. Tôi biết tôi có thể thêm dòng Route::get('myroute/function-name/{$parameter1}/{$parameter2}', '[email protected]')
vào tệp tuyến đường, nhưng ngoài việc chỉ định rõ ràng trong tệp tuyến đường, có cách mặc định để làm như vậy không?
Dòng đó cho biết Trình điều khiển Tuyến đường :: không hoạt động nữa? Như một vấn đề của thực tế, tôi đang sử dụng Route :: điều khiển và nó hoạt động tốt ngoại trừ một phần của tham số đi qua. – cytsunny
Trong 5.3, nó sẽ cung cấp cho bạn lỗi 'Phương thức điều khiển không tồn tại'. –