使用thinkphp必须掌握的Request
2020-09-15 本文已影响0人
php转go
一. 域名相关
以链接 http://127.0.0.1:8080/tes/index/index?id=1&b=2 为例
- 获取当前包含协议、端口的域名
request()->domain(); #输出http://127.0.0.1
#如果还需要返回端口,就添加参数true,如果是80端口就不展示
request()->domain(true); #输出 http://127.0.0.1:8080
- 获取当前完整URL
echo request()->url(); #输出/test/index/index?id=1&aa=2
#如果还需要返回完整的协议+域名+端口,就添加参数true,如果是80端口就不展示
echo request()->url(true); #输出http://127.0.0.1:8080/test/index/index?id=1&aa=2
- 获取当前URL
echo request()->baseUrl();#输出 /tes/test/index
#如果还需要返回协议+域名+端口,就添加参数true
echo request()->baseUrl(true); #输出 http://127.0.0.1:8080/test/index/index
- 获取当前执行的文件
echo request()->baseFile(); #输出 /index.php
#如果还需要返回完整链接,就添加参数true
echo request()->baseFile(true); #输出 http://127.0.0.1:8080/index.php
- 获取URL访问根地址
echo request()->root();#做了nginx伪静态,则返回空字符,否则返回 /index.php
#如果还需要返回端口,就添加参数true
echo request()->root(true); #输出 http://127.0.0.1:8080/ ,不做伪静态就在后面多加index.php
- 获取URL访问根目录
echo request()->rootUrl();
- 获取当前请求URL的pathinfo信息(含URL后缀)
echo request()->pathinfo();
- 获取当前请求URL的pathinfo信息(不含URL后缀)
echo request()->path();
- 当前URL的访问后缀
例如xxx.com/index/index/index.html,就能获取后缀html
echo request()->ext();
- 当前URL地址中的scheme参数
request()->scheme()
- 当前请求URL地址中的query参数
request()->query()
- 当前请求的host
request()->host()
- 当前请求URL地址中的port参数
request()->port()
二. 请求方式
request()-> isGet() #是否为GET请求
request()-> isPost() #是否为POST请求
request()->isPut() #是否为PUT请求
request()->sDelete() #是否为DELTE请求
request()->isHead() #是否为HEAD请求
request()->isPatch() #是否为PATCH请求
request()-> isOptions() #是否为OPTIONS请求
request()-> isAjax() #当前是否Ajax请求
request()-> isPjax() #当前是否Pjax请求
request()-> isSsl() #当前是否ssl
三.参数变量获取
request()-> param() #获取当前请求的参数
request()-> route() #设置获取路由参数
request()->get() #设置获取GET参数
request()->post() #设置获取POST参数
request()->put() #设置获取PUT参数
request()->delete() #设置获取DELETE参数
request()-> patch() #设置获取PATCH参数
request()-> request() #获取request变量
request()-> session() #获取session数据
request()-> cookie() #获取cookie参数
request()-> server() #获取server参数
request()-> env() #获取环境变量
四.运行方式
request()->isCli() #是否为cli
request()->isCgi() #是否为cgi
五.其他
#获取客户端IP地址
request()->ip();
#检测是否使用手机访问
request()->isMobile();
#获取当前的模块名
request()->module();
#获取当前的控制器名
request()->controller();
#获取当前的操作名
request()->action();
#获取当前的语言
request()->langset();
#设置或者获取当前请求的content
request()->getContent();
#获取当前请求的php://input
request()->getInput();
#生成请求令牌
request()->token();
# 设置当前地址的请求缓存
request()->cache();
# 读取请求缓存设置
request()->getCache();