#### Request
~~~
/**
* Hook 方法注入
* @access public
* @param string|array $method 方法名
* @param mixed $callback callable
* @return void
*/
Request::hook($method, $callback = null);
// 初始化
Request::instance($options = []);
/**
* 創建一個URL請求
* @access public
* @param string $uri URL地址
* @param string $method 請求類型
* @param array $params 請求參數
* @param array $cookie
* @param array $files
* @param array $server
* @param string $content
* @return \think\Request
*/
Request::create($uri, $method = 'GET', $params = [], $cookie = [], $files = [], $server = [], $content = null);
// 設置或獲取當前包含協議的域名
$request = new Request();
$request->domain($domain = null);
/**
* 設置或獲取當前完整URL 包括QUERY_STRING
* @access public
* @param string|true $url URL地址 true 帶域名獲取
* @return string
*/
/**
* 設置或獲取當前URL 不含QUERY_STRING
* @access public
* @param string $url URL地址
* @return string
*/
$request->baseUrl($url = null);
/**
* 設置或獲取當前執行的文件 SCRIPT_NAME
* @access public
* @param string $file 當前執行的文件
* @return string
*/
$request->baseFile($file = null);
/**
* 設置或獲取URL訪問根地址
* @access public
* @param string $url URL地址
* @return string
*/
$request->root($url = null);
// 獲取當前請求URL的pathinfo信息(含URL后綴)
$request->pathinfo();
// 獲取當前請求URL的pathinfo信息(不含URL后綴)
$request->path();
// 當前URL的訪問后綴
$request->ext();
// 獲取當前請求的時間
$request->time($float = false);
/**
* 當前請求的資源類型
* @access public
* @return false|string
*/
$request->type();
/**
* 設置資源類型
* @access public
* @param string|array $type 資源類型名
* @param string $val 資源類型
* @return void
*/
$request->mimeType($type, $val = '');
/**
* 當前的請求類型
* @access public
* @param bool $method true 獲取原始請求類型
* @return string
*/
$request->method($method = false);
// 是否為GET請求
$request->isGet();
// 是否為POST請求
$request->isPost();
// 是否為PUT請求
$request->isPut();
// 是否為DELTE請求
$request->isDelete();
// 是否為HEAD請求
$request->isHead();
// 是否為PATCH請求
$request->isPatch();
// 是否為OPTIONS請求
$request->isOptions();
// 是否為cli
$request->isCli();
// 是否為cgi
$request->isCgi();
/**
* 獲取獲取當前請求的參數
* @access public
* @param string|array $name 變量名
* @param mixed $default 默認值
* @param string|array $filter 過濾方法
* @return mixed
*/
$request->param($name = '', $default = null, $filter = '');
/**
* 設置獲取獲取路由參數
* @access public
* @param string|array $name 變量名
* @param mixed $default 默認值
* @param string|array $filter 過濾方法
* @return mixed
*/
$request->route($name = '', $default = null, $filter = '');
/**
* 設置獲取獲取GET參數
* @access public
* @param string|array $name 變量名
* @param mixed $default 默認值
* @param string|array $filter 過濾方法
* @return mixed
*/
$request->get($name = '', $default = null, $filter = '');
/**
* 設置獲取獲取POST參數
* @access public
* @param string $name 變量名
* @param mixed $default 默認值
* @param string|array $filter 過濾方法
* @return mixed
*/
$request->post($name = '', $default = null, $filter = '');
/**
* 設置獲取獲取PUT參數
* @access public
* @param string|array $name 變量名
* @param mixed $default 默認值
* @param string|array $filter 過濾方法
* @return mixed
*/
$request->put($name = '', $default = null, $filter = '');
/**
* 設置獲取獲取DELETE參數
* @access public
* @param string|array $name 變量名
* @param mixed $default 默認值
* @param string|array $filter 過濾方法
* @return mixed
*/
$request->delete($name = '', $default = null, $filter = '');
/**
* 設置獲取獲取PATCH參數
* @access public
* @param string|array $name 變量名
* @param mixed $default 默認值
* @param string|array $filter 過濾方法
* @return mixed
*/
$Req
/**
* 獲取request變量
* @param string $name 數據名稱
* @param string $default 默認值
* @param string|array $filter 過濾方法
* @return mixed
*/
$request->request($name = '', $default = null, $filter = '');
/**
* 獲取session數據
* @access public
* @param string|array $name 數據名稱
* @param string $default 默認值
* @param string|array $filter 過濾方法
* @return mixed
*/
$request->session($name = '', $default = null, $filter = '');
/**
* 獲取cookie參數
* @access public
* @param string|array $name 數據名稱
* @param string $default 默認值
* @param string|array $filter 過濾方法
* @return mixed
*/
$request->cookie($name = '', $default = null, $filter = '');
/**
* 獲取server參數
* @access public
* @param string|array $name 數據名稱
* @param string $default 默認值
* @param string|array $filter 過濾方法
* @return mixed
*/
$request->server($name = '', $default = null, $filter = '');
/**
* 獲取上傳的文件信息
* @access public
* @param string|array $name 名稱
* @return null|array|\think\File
*/
$request->file($name = '');
/**
* 獲取環境變量
* @param string|array $name 數據名稱
* @param string $default 默認值
* @param string|array $filter 過濾方法
* @return mixed
*/
$request->env($name = '', $default = null, $filter = '');
/**
* 設置或者獲取當前的Header
* @access public
* @param string|array $name header名稱
* @param string $default 默認值
* @return string
*/
$request->header($name = '', $default = null);
/**
* 獲取變量 支持過濾和默認值
* @param array $data 數據源
* @param string|false $name 字段名
* @param mixed $default 默認值
* @param string|array $filter 過濾函數
* @return mixed
*/
$request->input($data = [], $name = '', $default = null, $filter = '');
/**
* 設置或獲取當前的過濾規則
* @param mixed $filter 過濾規則
* @return mixed
*/
$request->filter($filter = null);
/**
* 遞歸過濾給定的值
* @param mixed $value 鍵值
* @param mixed $key 鍵名
* @param array $filters 過濾方法+默認值
* @return mixed
*/
$this->filterValue(&$value, $key, $filters);
// 過濾表單中的表達式
$request->filterExp(&$value);
/**
* 強制類型轉換
* @param string $data
* @param string $type
* @return mixed
*/
$this->typeCast(&$data, $type);
/**
* 是否存在某個請求參數
* @access public
* @param string $name 變量名
* @param string $type 變量類型
* @param bool $checkEmpty 是否檢測空值
* @return mixed
*/
$request->has($name, $type = 'param', $checkEmpty = false);
/**
* 獲取指定的參數
* @access public
* @param string|array $name 變量名
* @param string $type 變量類型
* @return mixed
*/
$request->only($name, $type = 'param');
/**
* 排除指定參數獲取
* @access public
* @param string|array $name 變量名
* @param string $type 變量類型
* @return mixed
*/
$request->except($name, $type = 'param');
// 當前是否ssl
$request->isSsl();
/**
* 當前是否Ajax請求
* @access public
* @param bool $ajax true 獲取原始ajax請求
* @return bool
*/
$request->isAjax($ajax = false);
/**
* 當前是否Pjax請求
* @access public
* @param bool $pjax true 獲取原始pjax請求
* @return bool
*/
$request->isPjax($pjax = false);
/**
* 獲取客戶端IP地址
* @param integer $type 返回類型 0 返回IP地址 1 返回IPV4地址數字
* @param boolean $adv 是否進行高級模式獲取(有可能被偽裝)
* @return mixed
*/
$requet->ip($type = 0, $adv = false);
// 檢測是否使用手機訪問
$request->isMobile();
// 當前URL地址中的scheme參數
$request->scheme();
// 當前請求URL地址中的query參數
$request->query();
// 當前請求的host
$request->host();
// 當前請求URL地址中的port參數
$request->port();
// 當前請求 SERVER_PROTOCOL
$request->protocol();
// 當前請求 REMOTE_PORT
$request->remotePort();
// 當前請求 HTTP_CONTENT_TYPE
$request->contentType();
// 獲取當前請求的路由信息
$request->routeInfo($route = []);
/**
* 設置或者獲取當前請求的調度信息
* @access public
* @param array $dispatch 調度信息
* @return array
*/
$request->dispatch($dispatch = null);
/**
* 設置或者獲取當前的模塊名
* @access public
* @param string $module 模塊名
* @return string|Request
*/
$request->module($module = null);
// 設置或者獲取當前的控制器名
$request->controller($controller = null);
// 設置或者獲取當前的操作名
$request->action($action = null);
// 設置或者獲取當前的語言
$request->langset($lang = null);
// 設置或者獲取當前請求的content
$request->getContent();
// 獲取當前請求的php://input
$request->getInput();
/**
* 生成請求令牌
* @access public
* @param string $name 令牌名稱
* @param mixed $type 令牌生成方法
* @return string
*/
$request->token($name = '__token__', $type = 'md5');
/**
* 設置當前地址的請求緩存
* @access public
* @param string $key 緩存標識,支持變量規則 ,例如 item/:name/:id
* @param mixed $expire 緩存有效期
* @param array $except 緩存排除
* @return void
*/
$request->cache($key, $expire = null, $except = []);
// 讀取請求緩存設置
$request->getCache();
/**
* 設置當前請求綁定的對象實例
* @access public
* @param string $name 綁定的對象標識
* @param mixed $obj 綁定的對象實例
* @return mixed
*/
$request->bind($name, $obj = null);
~~~