我目前正在从我的 Zend MVC 应用程序构建一个控制器,它只能用作 json 服务来填充页面。我想限制用户只使用 GET 方法来访问这个端点(出于某些安全原因)。
我在 Zend 中关注了这篇文章 _forward() 不起作用?但无法开始工作。
我正在使用 preDispatch 来检测非获取请求,并希望转发到同一控制器中的 errorAction。我的代码看起来像这样,
public function preDispatch(){
$this->_helper->layout()->disableLayout();
$this->_helper->viewRenderer->setNoRender();
//Restrict this Controller access to Http GET method
if(!($this->getRequest()->isGet())){
return $this->_forward('error');
}
}
public function errorAction(){
$this->getResponse()->setHttpResponseCode(501);
echo "Requested Method is not Implemented";
}
当我使用发布请求测试页面时,它会抛出
PHP致命错误:超过30秒的最大执行时间
我得到了它的工作
$this->_redirect("service/error");
想知道这是否是处理这种情况的唯一/最佳方法。
任何帮助将非常感激。提前致谢。