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