【发布时间】:2014-07-22 10:15:17
【问题描述】:
这是同样的问题, How to programmatically create instance of CakeRequest?
就我而言,我想创建 post 请求
$request = new CakeRequest('/posts/view');
$request->data = array('key' => 'value');
我试过用这个
$request->addDetector('post',
array (
'env' => 'REQUEST_METHOD',
'value' => 'POST'
)
);
但是当我在下一页回显$this->request->method() 时,它总是输出GET。如何将请求类型设置为post?
更新 蛋糕2.3版
更新2
我实际上想做的是:假设我有一个用于创建帖子的表单,其中包含标题和内容字段。现在,如果用户未登录,则在该表单下,我将显示登录/注册表单的输入(因此该页面上只有一个表单),因此用户将填写用户名/密码以登录或注册信息和如果他选择注册,请单击signin and publish 或signup and publish 按钮。将帖子的信息保存在数据库表的临时行和/或会话中后,我需要对用户进行身份验证,因为我想为用户控制器的 signup and publish 操作发送帖子请求,并且不更改那些注册/登录功能(我正在检查发布请求)我想创建这个发布请求。我知道我也可以将登录/注册操作移动到某个组件,所以我可以从不同的控制器中使用它们,但是注册操作有很多其他部分,并且它使用其他功能和组件,我不想移动所有这些逻辑到组件中。
谢谢
【问题讨论】:
-
为什么首先需要这样做?在测试用例之外,这感觉有点不对劲。如果你能解释你的意图,那么有人可能会找到更好的方法来解决你想要解决的任何问题。 ps,请务必提及您的确切 CakePHP 版本!
-
@ndm,感谢您的评论,我更新了 qsn