yii\web\Request封装了$_SERVER变量,并且可以处理$_POST, $_GET, $_COOKIES,还可以处理HTTP的其它方法如PUT or DELETE等。
它实例通过
$request = Yii::$app->request;
方法简介:
$absoluteUrl
它是一个公共的只读的属性
它会返回当前请求的绝对路径
echo $request->absoluteUrl;
result: http://localhost:8080/site/test
$enableCsrfValidation
是否进行csrf验证, 默认是true。当调用第三方接口时要设置为false,否则会失败。
$request = Yii::$app->request;
$request->enableCsrfValidation =false;
$cookies
也是一个公共的只读的属性
通过它可以直接操作cookie
$request = Yii::$app->request;
$cookies = $request->cookies;
$headers
也是一个公共的只读的属性
通过它可以获取到请求头
$request = Yii::$app->request;
var_dump($request->headers);
$isAjax
判断是否是ajax请求
$request = Yii::$app->request;
if($request->isjax){
// 如果是ajax请求,处理请求
echo "is ajax";
}
$isGet、 $isPost方法类似$isAjax
$port
获取请求的端口号
$request = Yii::$app->request;
var_dump($request->port);
result: int(8080)
$remoteIP
获取用户的ip
$request = Yii::$app->request;
var_dump($request->remoteIP);
result: string(9) "127.0.0.1"
$userAgent
直接获取 User agent
$request = Yii::$app->request;
var_dump($request->userAgent);
result: string(152) "Mozilla/5.0 (Windows NT 6.1; WOW64) 等
$userHost 、$userIP和$userAgent 类似
get()
公共的方法
通过给的键的名字,返回对应的Get请求的值,如果参数为空,返回GET请求的以数组形式的参数
$request = Yii::$app->request;
var_dump($request->get());
var_dump($request->get('name'));
结果:
post()
方法和get()类似