有没有办法自动过滤Zend中的getRequest()参数?

Mic*_*ICE 1 php zend-framework

如果我不需要,我不想在每个getRequest-> getParam('x')之后在我的代码中调用Zend过滤器.是否有一种懒惰的方法可以神奇地过滤getRequest中的所有内容?

编辑: 当我说过滤器时,我的意思是,转义标签,清理XSS,并转义任何sql转义字符.

即:

$myVar = $this->getRequest()->getParam('x');
filter the variable, escape sql stuf... etc 
Run Code Online (Sandbox Code Playgroud)

标准是什么?你好吗?

kar*_*m79 6

有几种方法可以处理您的情况.

首先,您可以立即获得所有参数:

$params = $this->_request->getParams(); //_request is equivalent to getRequest()
Run Code Online (Sandbox Code Playgroud)

因此,过滤掉所有参数的懒惰方法是在声明过滤器时使用*****,这意味着所有字段,并且看起来像:

$filters = array('*' => array('StringTrim','HtmlEntities','StripTags'));
$input = new Zend_Filter_Input($filters,$validators,$params);
if($input->isValid()) {
     //blah blah blah
}
Run Code Online (Sandbox Code Playgroud)

您应该阅读有关请求对象以及过滤器,输入过滤器验证器的更多信息.