在 Rails 中,我们可以指定保存数据时控制器中允许使用的参数。因此,params
作为提交的数据,我可以这样做:
params.require(:person).permit(:name, :age)
这将确保:person
密钥存在,并将过滤掉任何不是人的:name
或:age
.
CakePHP 有什么方法可以做到这一点吗?
编辑:我知道我可以编写 PHP,我想知道是否有一个 Cake 组件/插件已经这样做了。
在 Rails 中,我们可以指定保存数据时控制器中允许使用的参数。因此,params
作为提交的数据,我可以这样做:
params.require(:person).permit(:name, :age)
这将确保:person
密钥存在,并将过滤掉任何不是人的:name
或:age
.
CakePHP 有什么方法可以做到这一点吗?
编辑:我知道我可以编写 PHP,我想知道是否有一个 Cake 组件/插件已经这样做了。
这种PHP方式的东西:
// submited data
$this->request->data['Person'] = array(
'name' => 'Salines',
'age' => '41',
'job' => 'Web Developer'
);
// check if isset and filter out anything that is not a person's name or age
if(isset($this->request->data['Person']))
{
$permit = array('name' => '','age' => '');
$this->request->data['Person'] = array_intersect_key($this->request->data['Person'],$permit);
}
//and return $this->request->data like
array(
'Person' => array(
'name' => 'Salines',
'age' => '41'
)
);
制作这样的网址链接
echo $this->Html->url(array('controller'=>'users','action'=>'hello','par1'=>23,'par2'=>'sud'));
在用户控制器的 hello 函数中
pr($this->params->named['par1']);
pr($this->params->named['par2']);