原文链接:https://www.crs811.com/archives/1770
yii2添加行为之Yii->$app->request->request()通用地去获取post|get请求
1、main-local 中添加:
'request' => [
'as requestmethod' => common\helpers\HttpRequstMethod::class,
],
2、添加 HttpRequstMethod
<?php
namespace common\helpers;
use yii\base\Behavior;
use yii\helpers\ArrayHelper;
/**
* Class HttpRequstMethod
*
* @$_REQUEST = GET + POST
*/
class HttpRequstMethod extends Behavior
{
private static $_data = [];
public function request($name = null)
{
$request = \Yii::$app->request;
if (!self::$_data)
{
self::$_data = ArrayHelper::merge($request->getBodyParams(),
$request->getQueryParams());
}
return self::$_data[$name] ?? self::$_data;
}
}
3、添加到 phpstorm_ide_helper.php ,支持输入Yii::$app-> 自动补全列表里有request
@property \common\helpers\HttpRequstMethod $request;
4、到此,任何地方都可以通过如下通用地调用所有请求参数或者某个请求参数了!
Yii::$app->request->request();//获取请求的所有参数
Yii::$app->request->request('id');//获取请求的某个参数

发表回复