# Request请求对象
thinkphp6有关于请求对象的说明,具体可以查看 [thinkphp请求对象](https://ihavenolimitations.xyz/manual/thinkphp6_0/1037517)
请求对象获取的参数可以用作全局处理,比如全局的缓存,站点,配置参数等等
在app下的Request.php可以针对请求类进行扩展,niushop
定义了当前请求站点,插件,模块以及url解析参数。
~~~
<?php
namespace app;
// 应用请求对象类
class Request extends \think\Request
{
/**
* 站点id
* @var int
*/
protected $site_id = 0;
/**
* 当前访问插件
* @var string
*/
protected $addon;
/**
* 当前访问应用(模块)
* @var string
*/
protected $module;
/**
* 解析url
* @var unknown
*/
protected $parseUrl;
/**
* 站点id
* @param number $siteid
*/
public function siteid($siteid = 1)
{
return 1;
}
/**
* 当前访问插件
* @param string $addon
* @return string
*/
public function addon($addon = '')
{
if(!empty($addon))
{
$GLOBALS["REQUEST_ADDON"] = $addon;
}
return isset($GLOBALS["REQUEST_ADDON"]) ? $GLOBALS["REQUEST_ADDON"] : '';
}
/**
* 当前访问模块
* @param string $module
*/
public function module($module = '')
{
if(!empty($module))
{
$GLOBALS["REQUEST_MODULE"] = $module;
}
return isset($GLOBALS["REQUEST_MODULE"]) ? $GLOBALS["REQUEST_MODULE"] : '';
}
/**
* 判断当前是否是微信浏览器
*/
public function isWeixin()
{
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false) {
return 1;
}
return 0;
}
/**
* 当前登录用户id
* @return mixed|number
*/
public function uid($app_module)
{
$uid = session($app_module."."."uid");
if(!empty($uid))
{
return $uid;
}else{
return 0;
}
}
/**
* 解析url
*/
public function parseUrl()
{
$addon = $this->addon() ? $this->addon() . '://' : '';
return $addon.$this->module().'/'.$this->controller().'/'.$this->action();
}
}
~~~
- 序言
- 安装教程
- 运行环境
- 安装手册
- 基础
- 前期准备
- 伪静态配置
- 后台目录结构
- uniapp(手机端)目录结构
- 开发命名规范
- 控制器命名规范
- model层命名规范
- 前端(管理页面)命名规范
- 提示面板
- 表单
- uniapp(手机端)命名规范
- api接口命名规范
- 架构
- 入口文件
- config设置
- app应用目录
- component(自定义模板组件)
- model层(数据业务层)
- 数据库操作
- job(消息队列)
- event(事件)
- request(请求对象)
- common(公共函数)
- log(日志处理)
- lang(语言包)
- addon插件
- 数据字典
- 系统基础表
- 配送相关表
- 商品相关表
- 网站设置相关
- 会员相关表
- 订单相关表
- 营销(组合套餐)
- 营销(砍价)
- 营销(优惠券)
- 营销(满减)
- 营销(拼团)
- 营销(秒杀)
- 店铺相关表
- 微信相关表
- 门店相关表
- 结算相关表
- 应用(分销)
- 功能模块
- 商品模块
- 会员模块
- 订单模块
- 数据统计
- 消息队列
- 支付模块
- 短信模块
- 客服
- api接口
- 接口开发
- 插件开发
- 事件开发
- 常用事件
- 插件目录与开发
- 常用插件
- 支付插件
- 拼团插件
- 新人礼