Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.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/4/regex/17.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
如何访问CakePHP中不遵循命名约定的POST数据?_Php_Cakephp - Fatal编程技术网

如何访问CakePHP中不遵循命名约定的POST数据?

如何访问CakePHP中不遵循命名约定的POST数据?,php,cakephp,Php,Cakephp,我正在使用CakePHP进行实验,我只是对完成读取POST参数这项非常简单的任务有多困难感到惊讶 问题是,我不使用表单提交数据。我使用CakePHP作为应用程序的API,提供的值不符合命名约定,因此当我执行pr($this->request->data)时,它只返回空值 假设我将用户名和密码等参数发送到我的/authenticate/login操作,我需要读取它们才能执行登录。我不想要求用户提供名称为data[users][username]的参数 我不明白为什么CakePHP开发人员喜欢要求您

我正在使用CakePHP进行实验,我只是对完成读取POST参数这项非常简单的任务有多困难感到惊讶

问题是,我不使用表单提交数据。我使用CakePHP作为应用程序的API,提供的值不符合命名约定,因此当我执行
pr($this->request->data)
时,它只返回空值

假设我将
用户名
密码
等参数发送到我的
/authenticate/login
操作,我需要读取它们才能执行登录。我不想要求用户提供名称为
data[users][username]
的参数


我不明白为什么CakePHP开发人员喜欢要求您这样做,以便能够在应用程序中访问它们!为什么要让我们的生活更艰难,而不仅仅是提供一个简单的功能,比如
$this->input->post('username')

没有什么可以阻止您访问$\u post superglobal,您的数据将在那里

然而,我不建议你走这条路。这是每个人都推荐的理由。例如,如果您想启用安全组件,这样人们就不能篡改您的表单,那么您必须回到CakePHP推荐的方式


我强烈建议现在用“蛋糕方式”做事,如果你用CakePHP推荐的方式做事,一切都会容易得多,尤其是当你开始创建网站时,不仅仅是简单的单用户测试用例。

是的,我已经读过了。。没有,谢谢你的回答,本。我决定首先使用框架的原因是它们的自动输入转义和XSS保护。例如,Codeigniter通过
$this->input->post('username')
提供访问,并自动进行安全验证。然而,如果我切换到
$\u POST
,我将失去这一功能,这与使用简单的PHP没有什么不同。我的观点是,为什么CakePHP开发人员试图让您遵守他们的命名约定,并在不遵守的情况下“抛弃”您?没关系。。我在提交数据时犯了一个愚蠢的错误,问题不是CakePHP,而是我的REST客户端。。。现在,我可以使用
$this->request->data('username')
读取输入,并且安全性也已启用。。