Skip to content

请求对象

liaofei edited this page Jan 20, 2021 · 1 revision

Request

文件位置app/Request.php;继承自thinkphp底层的think\Request,并在容器中重写了原本的think\Request,所以再框架内使用方式think\Requestapp\Request 效果相等

Request内部新增方法解析

用来获取get请求下的参数

    /**
     * 获取get参数
     * @param array $params
     * @param bool $suffix
     * @return array
     */
    public function getMore(array $params, bool $suffix = false): array

    /**
     * 获取post参数
     * @param array $params
     * @param bool $suffix
     * @return array
     */
    public function postMore(array $params, bool $suffix = false): array

在控制器中的使用示例:

postMore和getMore方法使用相同

use app\Request;

class Index
{
    public function index(Request $request)
    {
        //参数一为数组,参数二为true返回数组键值为数字,默认返回带键值对的数组
        [$name] = $request->getMore([
            ['参数键值', '默认值' , '过滤方法','需要该变成当前键值']
        ],true);
    }
}

获取用户访问端,由接口请求中header中的Form-type控制访问端

    /**
     * 获取用户访问端
     * @return array|string|null
     */
    public function getFromType()

目前存在的访问端有:

是否是H5端:$request->isH5()

是否是微信端:$request->isWechat()

是否是小程序端:$request->isRoutine()

是否是app端:$request->isApp()

是否是PC端:$request->isPC()

根据以上访问端判断可在支付时,生成海报时,生成用户数据时,等诸多地方获得当前接口访问端来做出对应的业务逻辑处理;

Clone this wiki locally