在laravel中的控制器中,是否可以对get和post方法使用相同的名称?
//in route
Route::get('form','OrderController@formOrder');
Route::post('form','OrderController@formOrder');
// in controller
[get]
public function formOrder()
{
//do something
}
[post]
public function formOrder()
{
//do something else
}
类似的东西。
答案 0 :(得分:0)
public function formOrder(Request $request)
{
if($request->isMethod('post')){
//post data
}
if($request->isMethod('get')){
//get data
}
}
public function formOrder(Request $request)
{
$method = $request->method();
if($method == 'post'){
//post data
}
if($method == 'get'){
//get data
}
}
您也可以选择一条路线
Route::match(['get', 'post'], 'form','OrderController@formOrder');
答案 1 :(得分:0)
不,由于模棱两可,您不能在控制器中使用相同的函数名称。 当url请求到达web.php时,控制器将调用路由动作参数中给出的函数名称的首次出现,该名称可能不是用户所需的预期功能。