假设我有一个这样的隐式控制器:
class UserController extends Controller
{
public function getShow($id)
{
//
}
}
在路线中我写这个:
Route::controller('users', 'UserController');
我们知道users/show
仅在用户通过 GET http请求请求时才会响应。
但如果我想要它只响应GET和POST(而不是其他方法,如PUT,DELETE,......)我该怎么做?
当然我们知道我们可以在上面的方法中使用any
前缀,但它会响应所有的http方法。像这样:
class UserController extends Controller
{
public function anyShow($id)
{
//
}
}
答案 0 :(得分:1)
如果你的隐式控制器只包含GET和POST(前缀)方法 - 没有其他方法可以工作,所以不必担心。
EG。如果你有:
class UserController extends Controller
{
public function getShow($id)
{
}
public function postShow($id)
{
}
}
Laravel只允许'GET / show'和'POST / show'。
请注意,Laravel很快就会放弃隐式控制器,因为即使它们提供简单性,隐式控制器也会带来许多缺点。 This article有一个很好的分析。