在laravel 4.2和laravel 5.3中,路由中都有一个使用隐式控制器的选项。两个版本的语法都相同。
AspNetRoles,
AspNetUserClaims,
AspNetUserLogins
AspNetUserRoles
AspNetUsers
所以URL将是:
Route::controller('myroute', 'myDearController');
在laravel 4中,控制器将如下所示:
http://my.domain.com/myroute/function-name/parameter1/parameter2
然而,在laravel 5中,要获得GET输入,它会占用一个参数位置,所以我尝试做这样的事情:
//..... Some other controller related syntax ......
public function getFunctionName($parameter1, $parameter2) {
$inputs = Input::all();
dd($inputs);
}
//..... Some other controller related syntax ......
但是,网址会返回//..... Some other controller related syntax ......
public function getFunctionName(Request $request, $parameter1, $parameter2) {
$inputs = $request->all();
dd($inputs);
}
//..... Some other controller related syntax ......
。我试着改变位置,
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 ......
添加到路由文件中,但除了在路由文件中明确指定之外,还有一种默认的方法吗?
答案 0 :(得分:1)
使用显式路由时,它应为{parameter}
而不是{$parameter}
。
所以,
Route::get('myroute/function-name/{parameter1}/{parameter2}', 'myDearController@getFunctionName')
答案 1 :(得分:0)
您不能再使用::controller
,因此您需要为Laravel 5应用创建显式路由,并且没有默认方式来执行4.2中::controller
所做的操作。您可以查看Resource controllers,它允许您为CRUD使用一些隐式路由。
Laravel资源路由分配典型的" CRUD"使用单行代码路由到控制器。
答案 2 :(得分:0)
/arch:AVX2
如果您执行 php artisan route:list ,您将看到所有路线的列表。