1

如何将 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',
        ),
    ),
),

我的实际问题是,有没有办法将请求控制注入到这条路由的约束中?

4

3 回答 3

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。

于 2012-09-28T08:50:51.177 回答
0

在这种情况下,另一种方法可能是使用 AbstractRestfulController。

http://framework.zend.com/apidoc/2.1/classes/Zend.Mvc.Controller.AbstractRestfulController.html

只实现 create() 方法。

于 2014-09-01T10:48:58.117 回答
-1

在 Zend_Controller_Request_Http 类中

您可以禁用其他请求类型。

于 2012-09-28T06:47:27.583 回答