Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Zend框架,getParams->setParams_Php_Zend Framework - Fatal编程技术网

Php Zend框架,getParams->setParams

Php Zend框架,getParams->setParams,php,zend-framework,Php,Zend Framework,我是Zend框架的新手,但我还没有找到解决方案。下一个问题是: 我有一个表单,当用户提交到索引控制器时,有一个添加操作。我知道如何获得params,这就是我想要做的: $clear = $this->getRequest()->getParams(); foreach ($clear as $key => $value) { $clear[$key]=trim(strip_tags($value)); } $this->setRequest()->setPa

我是Zend框架的新手,但我还没有找到解决方案。下一个问题是: 我有一个表单,当用户提交到索引控制器时,有一个添加操作。我知道如何获得params,这就是我想要做的:

$clear = $this->getRequest()->getParams();
foreach ($clear as $key => $value) {
    $clear[$key]=trim(strip_tags($value));
}
$this->setRequest()->setParams($clear);//error, Argument 1 passed to Zend_Controller_Action::setRequest() must be an instance of Zend_Controller_Request_Abstract

所以问题是如何改变整个页面的参数,所以若我想在任何地方访问那个些数据,我可以确保它们是安全的。是否可以将该参数仅更改为索引控制器。提前谢谢

将setRequest更改为getRequest

 $this->getRequest()->setParams($clear);

将setRequest更改为getRequest

 $this->getRequest()->setParams($clear);
试试这个:

$request = $this->getRequest();
$clear = $request->getParams();
foreach ($clear as $key => $value) {
    $clear[$key]=trim(strip_tags($value));
}
$request->setParams($clear);
换句话说,您不想将请求替换为setRequest,而只是将参数替换为setParams。

尝试以下操作:

$request = $this->getRequest();
$clear = $request->getParams();
foreach ($clear as $key => $value) {
    $clear[$key]=trim(strip_tags($value));
}
$request->setParams($clear);

换句话说,您不想将请求替换为setRequest,而只是将参数替换为setParams。

您可能想查看一下验证和筛选用户输入的方法。我认为,如果您只想在模型中保存数据,那么更改请求参数是不好的做法。相反,让Zend_Filter_输入来处理它,并将结果反馈给您的模型


如果您要转发到另一个控制器操作,该怎么办?您将无法访问未更改的内容。当其他人加入到您的项目中时,他/她可能不希望请求参数被更改。

您可能需要查看以验证和筛选用户输入。我认为,如果您只想在模型中保存数据,那么更改请求参数是不好的做法。相反,让Zend_Filter_输入来处理它,并将结果反馈给您的模型


如果您要转发到另一个控制器操作,该怎么办?您将无法访问未更改的内容。当其他人加入您的项目时,他/她可能不希望请求参数被更改。

好的,谢谢。我正在学习并从过程方法转向面向对象方法。我只是在学习,想控制一切,但我会听从你的建议!在整个页面中更改该参数,并且可以仅将该参数更改为索引控制器。如果你转发到另一个控制器操作,因为我不知道我可以转发数据还是…:谢谢Zend框架有一点陡峭的学习曲线,当刚接触OOP时,它可能有点势不可挡。大部分内容可以在文档中找到,只是需要一些时间来学习:-。好的,谢谢。我正在学习并从过程方法转向面向对象方法。我只是在学习,想控制一切,但我会听从你的建议!在整个页面中更改该参数,并且可以仅将该参数更改为索引控制器。如果你转发到另一个控制器操作,因为我不知道我可以转发数据还是…:谢谢Zend框架有一点陡峭的学习曲线,当刚接触OOP时,它可能有点势不可挡。不过,大部分都可以在文档中找到,只是需要一些时间来学习:-。谢谢,我知道我可以做到这一点,但我对在框架中操作参数很感兴趣。。。谢谢我错了,这几乎是一样的,只是我想改变同一个对象的属性。。。我知道的意思是创建新对象并添加一些属性…:谢谢,我知道我可以做到,但我对在框架中操纵参数感兴趣。。。谢谢我错了,这几乎是一样的,只是我想改变同一个对象的属性。。。我知道的意思是创建新对象并添加一些属性…::谢谢,为什么我没有尝试:这正是我想要的!!!谢谢大家的建议。如果有人知道一些关于zend框架、书籍等的入门教程,我将不胜感激谢谢,为什么我没有尝试:这正是我想要的!!!谢谢大家的建议。任何人都知道一些不错的教程开始与zend框架,书籍等,我将不胜感激!