如何编写Laravel 5.1路由器/控制器以响应特定路由上的任何/所有HTTP谓词(GET,POST,DELETE等)?
我可以声明:
Route::controller('foo', 'FooController');
class FooController extends Controller
{
public function getIndex()
{
}
public function postIndex()
{
}
}
但是我没有为所有动词列出单独的方法,而是想要像:
class FooController extends Controller
{
public function allIndex()
{
}
}
答案 0 :(得分:6)
Route::any('foo', 'FooController@allIndex');
您可以使用any
它可以在单个函数上处理所有类型的请求。
class FooController extends Controller
{
public function allIndex()
{
}
}
其次在您的控制器中,您可以使用method()
public function allIndex()
{
request()->method() // returns GET,POST, PUT, PATCH
}
希望这有帮助。
答案 1 :(得分:0)
检查这是否是您要找的:
Route::any('foo', [
'uses' => 'FooController@allIndex'
]);