Aab*_*ain 4 php yii2 yii2-advanced-app
我正在编写一个拦截器来验证从 POST 收到的请求和解码数据。解码数据后,我必须设置数据,$_POST以便我以前的所有编写器功能都能正常工作。
我已经设置了如下值
$_POST['amount'] = $data['a'];
$_POST['currency'] = $data['c'];
Run Code Online (Sandbox Code Playgroud)
我能够使用这些变量,$_POST但无法访问这些值Yii::$app->request->post()
所以我的问题是我可以通过 Yii::$app->request->post()
发布数据缓存在Request组件内部,因此任何更改$_POST都不会反映在Yii::$app->request->post(). 但是,您可以使用setBodyParams()重置此缓存:
Yii::$app->request->setBodyParams(null);
$post = Yii::$app->request->post();
Run Code Online (Sandbox Code Playgroud)
或者只是用来setBodyParams()直接设置您的数据而无需触摸$_POST:
Yii::$app->request->setBodyParams(['amount' => $data['a'], 'currency' => $data['c']]);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1779 次 |
| 最近记录: |