如何在 Laravel 中为相同的模式路由 GET 和 POST?

新手上路,请多包涵

有谁知道 Laravel 4 中将这两条线合二为一的任何方式?

 Route::get('login', 'AuthController@getLogin');
Route::post('login', 'AuthController@postLogin');

因此,您不必同时编写两者,而只需编写一个,因为它们都使用“相同”方法,而且 URL 保持为 site.com/login 而不是重定向到 site.com/auth/login

我很好奇,因为我记得 CI 有类似的东西,其中 URL 保持不变并且控制器从未显示:

 $route['(method1|method2)'] = 'controller/$1';

原文由 enchance 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 889
2 个回答

您可以尝试以下方法:

 Route::controller('login','AuthController');

然后在你的 AuthController class 中实现这些方法:

 public function getIndex();
public function postIndex();

它应该工作;)

原文由 Mehrdad Hedayati 发布,翻译遵循 CC BY-SA 3.0 许可协议

在路线中

Route::match(array('GET','POST'),'/login', 'AuthController@getLogin');

在控制器中

public function login(Request $request){
    $input = $request->all();
    if($input){
     //Do with your post parameters
    }
    return view('login');
}

原文由 Soubhagya Kumar Barik 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题