Zend Framework 1.12中让action响应指定的提交方式 推荐
2013-10-14 14:28
295 查看
在ASP.NET MVC中,可以通过[HttpPost]或者[HttpGet]标签使得Action方法只响应指定的提交方式。
在Zend Framework中没有这种标签方式,因此实现方式有点不同。
在ZF中,所有的Controller都有preDispatch方法,该方法在action方法调用前被调用,因此可以在这个方法上做文章。
在这个方法中判断所进来的请求是get还是post,并且指定哪些action可以接受post方法,哪些可以接受get方法,即可实现。
示例代码如下:
在Zend Framework中没有这种标签方式,因此实现方式有点不同。
在ZF中,所有的Controller都有preDispatch方法,该方法在action方法调用前被调用,因此可以在这个方法上做文章。
在这个方法中判断所进来的请求是get还是post,并且指定哪些action可以接受post方法,哪些可以接受get方法,即可实现。
示例代码如下:
public function preDispatch(){ if($this->_request->isPost())//如果是post动作 { //如果请求的action不在提供的列表中,则退出程序。 if (false==in_array($this->getRequest()->getActionName(), array('onlypost'))) { exit('The action cannot be called by post'); } } if($this->_request->isGet())//如果是Get动作 { //如果请求的action不在提供的列表中,则退出程序。 if (false==in_array($this->getRequest()->getActionName(), array('onlyget'))) { exit('The action cannot be called by Get'); } } }这里需要提起一下,在PHP框架 Zend Framework 1.12中,Zend_Controller_Request_Http被用来访问整个HTTP请求环境。 因此,当你在action方法中,使用$this->getRequest(),其得到的对象本质类型是Zend_Controller_Request_Http,而不是简单的Zend_Controller_Request_Abstract,事实上,抽象类也不能实例化。Zend_Controller_Request_Abstract中并没有isPost()方法,而它的子类Zend_Controller_Request_Http中提供了该方法。
相关文章推荐
- Ajax 按需 提交指定字段 以 Json Model 形式 post 到 action
- CCActionTween(可以时间上连续的改变某个对象指定key对应的属性 改变方式需要自定义 cocos2dx未定义 )
- Spring控制器响应(action)请求的几种处理方式
- Struts2_基于XML配置方式对指定action方法实现输入校验、基于XML校验的一些特点
- ajax方式和修改form属性action(提交路径)方式提交form表单
- android开发(26) 和其他应用交换数据方式一,使用intent指定自定义action调用其他程序里的activity,并获得其返回的结果
- Form 表单中的method 若使用get提交方式 则action地址上带的参数将被省略 4000
- struts2-18基于XML配置方式实现对action的所有方法或指定方法进行输入校验
- extjs4 表单提交到struts2 action 的响应问题
- Ext form action 提交返回方式
- 表单中多个请求参数名字相同,服务器到底获取的是哪个请求参数的值,表单的action和get和post提交方式的关系以及提交数据的不同点
- Zend Framework 1.12中Module的用法 推荐
- android开发(26) 和其他应用交换数据方式一,使用intent指定自定义action调用其他程序里的activity,并获得其返回的结果
- strut2基于XML配置方式对Action中的指定方法校验
- android开发(26) 和其他应用交换数据方式一,使用intent指定自定义action调用其他程序里的activity,并获得其返回的结果
- [置顶] Form表单Get方式提交时,action中带参数传递不了
- form表单以get方式提交时action中?后面的参数部分不生效
- 在IE下面指定表单提交编码方式
- Struts2 访问Action中的指定方法 三种方式的总结
- yii小物件Widget创建表单,action提交到指定位置