post传多个参数_ThinkPHP6三种获取参数的方法

ThinkPHP6获取参数的方法有多种,初学者可能知道其中的一种,然后在看到其他人代码的时候又换了个写法,可能会一脸懵逼,下面就给大家总结一下ThinkPHP6中获取参数的方法。

假设我们有以下4种请求URL:

① http://localhost/index/index/user/id/1.html

② http://localhost/index/index/user?id=1

③ http://localhost/index/index/user?name=admin

④ http://localhost/index/index/user?name=111admin222

一、使用助手函数,这是最简单直接的:

var_dump(input('id')); // ①、②链接都是1,③、④都是NULL

二、使用依赖注入

$this->request->param(); // 该方法返回所有的参数,返回值是一个数组$this->request->param('id'); // 获取指定参数的值$this->request->get('id'); // 只对②链接生效,获取id的值$this->request->param('id', 1, 'intval'); // 接收参数id的值并转成整型,结果为1

三、使用门面模式的静态方法获取

注意:使用该方法之前需要先引入:use thinkfacadeRequest;

Request::param(); // 获取当前请求的所有变量Request::param('name'); // 获取请求的name值,返回字符串,如果没有传值,则返回nullRequest::param(['name', 'email']); // 获取多个参数值

其中,还有has方法可以检测变量是否已经设置,如:

Request::has('id', 'get');Request::has('name', 'post'); // 检测是否有POST方法传递的name值,有的话返回true,反之为false。

变量检测可以支持所有支持的系统变量,包括get/post/put/request/cookie/server/session/env/file

以上三种方法是TP6获取参数的归纳总结,在很多情况下,我们需要判断当前操作的请求类型是哪一种,如:GET、POST、PUT、DELETE或者是HEAD等等,同时不仅需要针对不同的请求类型做出相应的逻辑处理,更要兼顾安全性的验证,过滤非法请求,TP6框架提供了请求对象Request类的多种方法来获取、判断当前请求类型,例如,判断一个请求是否为POST请求,我们可以这样做:

if($request->isPost()) {  // TODO}

类似的情形还有$request->isGet()、$request->isPut()、$request->isAjax()等等,具体的方法如下图:

362f519195b575df205830dba2e3298c.png

请求对象Request类提供的方法

注意:method方法返回的请求类型始终是大写的,并且这些方法都不需要传入任何参数。

以上就是ThinkPHP6中获取参数的三种方式,以及一些相关的请求类型,可能还不是很全,但是掌握这些基本能满足大部分情形下的参数获取,如果想了解更多相关内容,请移步ThinkPHP官网查看相关文档。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值