TP5请求获取参数

获取请求参数的几种方法
  • 通过继承think\Controller基类,在控制器中直接使用$this->request
  namespace app\index\controller;
  
  use think\Controller;
  
  class Index extends Controller
  {
      public function index()
      {
          $params = $this->request->param();
          return json($params);
      }
  }
  • 通过构造函数方式注入
  namespace app\index\controller;
  
  use think\Request;
  
  class Index
  {
      protected $request;
  
      public function __construct(Request $request)
      {
          $this->request = $request;
      }
      public function index()
      {
          $params = $this->request->param();
          return json($params);
      }
  }
  • 通过操作方法注入
namespace app\index\controller;

use think\Request;

class Index
{
    public function index(Request $request)
    {
        $params = $request->param();
        return json($params);
    }
}
  • 通过方法内实例化
namespace app\index\controller;

use think\Request;

class Index
{
    public function index()
    {
        $request = Request::instance();
        $params = $request->param();
        return json($params);
    }
}
获取请求信息
  • 获取URL信息
方法作用
domain获取当前域名
baseFile获取当前入口文件
url获取当前URL地址 不含域名
url(true)获取包含域名的完整URL地址
baseUrl获取当前URL地址 不含QUERY_STRING
root获取URL访问的ROOT地址
root(true)获取URL访问的ROOT地址
pathinfo获取URL地址中的PATH_INFO信息
path获取URL地址中的PATH_INFO信息,不含后缀
ext获取URL地址中的后缀信息
  • 获取 模块/控制器/操作名称
方法作用
model()模块
controller()控制器
action()操作方法
  • 获取请求变量

变量类型方法(‘变量名/变量修饰符’,‘默认值’,‘过滤方法’)

方法描述
param获取当前请求的变量
get获取 $_GET 变量
post获取 $_POST 变量
put获取 PUT 变量
delete获取 DELETE 变量
session获取 $_SESSION 变量
cookie获取 $_COOKIE 变量
request获取 $_REQUEST 变量
server获取 $_SERVER 变量
env获取 $_ENV 变量
route获取 路由(包括PATHINFO) 变量
file获取 $_FILES 变量
  • 获取请求类型
// 是否为 GET 请求
if (Request::instance()->isGet()) echo "当前为 GET 请求";
// 是否为 POST 请求
if (Request::instance()->isPost()) echo "当前为 POST 请求";
// 是否为 PUT 请求
if (Request::instance()->isPut()) echo "当前为 PUT 请求";
// 是否为 DELETE 请求
if (Request::instance()->isDelete()) echo "当前为 DELETE 请求";
// 是否为 Ajax 请求
if (Request::instance()->isAjax()) echo "当前为 Ajax 请求";
// 是否为 Pjax 请求
if (Request::instance()->isPjax()) echo "当前为 Pjax 请求";
// 是否为手机访问
if (Request::instance()->isMobile()) echo "当前为手机访问";
// 是否为 HEAD 请求
if (Request::instance()->isHead()) echo "当前为 HEAD 请求";
// 是否为 Patch 请求
if (Request::instance()->isPatch()) echo "当前为 PATCH 请求";
// 是否为 OPTIONS 请求
if (Request::instance()->isOptions()) echo "当前为 OPTIONS 请求";
// 是否为 cli
if (Request::instance()->isCli()) echo "当前为 cli";
// 是否为 cgi
if (Request::instance()->isCgi()) echo "当前为 cgi";
  • 获取请求头信息
    • 获取全部头信息Request::instance()->header()
    • 获取单个头信息Request::instance()->header('user-agent')

注意:HTTP请求头信息的名称不区分大小写,并且_会自动转换为-,所以下面的写法都是等效的:

  $agent = Request::instance()->header('user-agent');
  $agent = Request::instance()->header('User-Agent');
  $agent = Request::instance()->header('USER_AGENT');
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值