如何将Zend Framework 2路由配置为仅允许POST
请求类型?
我已经阅读了文档,但没有用。
修改
这是我的DI代码部分
'cv-create' => array(
'type' => 'Zend\Mvc\Router\Http\Segment',
'options' => array(
'route' => '/profile/cv/:type/create',
'defaults' => array(
'controller' => 'Application\Controller\ProfileController',
'action' => 'cv_create',
),
),
),
我的实际问题是,有没有办法将请求控件作为约束注入此路由?
答案 0 :(得分:3)
您可以扩展Zend\Mvc\Router\Http\Segment
类并创建match()
的略微修改版本。由于match()
具有$request
参数,因此它应该如下所示:
public function match(Request $request, $pathOffset = null)
{
if (!$request->isPost())
{
return null;
}
return parent::match($request, $pathOffset);
}
然后在路由配置中使用此修改后的类而不是标准Segment。
答案 1 :(得分:0)
另一种方法可能是在这种情况下使用AbstractRestfulController。
http://framework.zend.com/apidoc/2.1/classes/Zend.Mvc.Controller.AbstractRestfulController.html
仅实现create()方法。
答案 2 :(得分:-1)
您可以停用其他请求类型。