如果我不需要,我不想在每个getRequest-> getParam('x')之后在我的代码中调用Zend过滤器.是否有一种懒惰的方法可以神奇地过滤getRequest中的所有内容?
编辑: 当我说过滤器时,我的意思是,转义标签,清理XSS,并转义任何sql转义字符.
即:
$myVar = $this->getRequest()->getParam('x'); filter the variable, escape sql stuf... etc
标准是什么?你好吗?
有几种方法可以处理您的情况.
首先,您可以立即获得所有参数:
$params = $this->_request->getParams(); //_request is equivalent to getRequest()
因此,过滤掉所有参数的懒惰方法是在声明过滤器时使用*****,这意味着所有字段,并且看起来像:
$filters = array('*' => array('StringTrim','HtmlEntities','StripTags')); $input = new Zend_Filter_Input($filters,$validators,$params); if($input->isValid()) { //blah blah blah }
您应该阅读有关请求对象以及过滤器,输入过滤器和验证器的更多信息.