请求对象

think\Request类负责,
还可以用think\facade\Request静态调用,
或者助手函 数request()调用。

请求信息

action($convert = false)

获取当前的操作名,$convert是否转为驼峰

index

controller($convert=false) (存疑)

获取当前的控制器名

Index  //不转换
index  //转换

分层后

Info.index //不转换
info.index //转换

module()

获取当前的模块名


get($name = '', $default = null, $filter = '')

获取GET参数

post($name = '', $default = null, $filter = '')

获取post参数

delete($name = '', $default = null, $filter = '')

获取delete参数

patch($name = '', $default = null, $filter = '')

获取patch参数

put($name = '', $default = null, $filter = '')

获取put参数

param($name = '', $default = null, $filter = '')

获取当前请求的参数

input($data = [], $name = '', $default = null, $filter = '')

获取变量

request($name = '', $default = null, $filter = '')

获取request变量

has($name, $type = 'param', $checkEmpty = false)

是否存在某个请求参数

only($name, $type = 'param')

获取指定的参数

except($name, $type = 'param')

排除指定参数获取

env($name = '', $default = null)

获取环境变量

cookie($name = '', $default = null, $filter = '')

获取cookie

header($name = '', $default = null)

获取当前的Header

array (size=13)
  'host' => string '127.0.0.1:8000' (length=14)
  'connection' => string 'keep-alive' (length=10)
  'cache-control' => string 'max-age=0' (length=9)
  'dnt' => string '1' (length=1)
  'upgrade-insecure-requests' => string '1' (length=1)
  'user-agent' => string 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36 Edg/83.0.478.58' (length=131)
  'accept' => string 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9' (length=124)
  'sec-fetch-site' => string 'none' (length=4)
  'sec-fetch-mode' => string 'navigate' (length=8)
  'sec-fetch-user' => string '?1' (length=2)
  'sec-fetch-dest' => string 'document' (length=8)
  'accept-encoding' => string 'gzip, deflate, br' (length=17)
  'accept-language' => string 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6,zh-TW;q=0.5,ja;q=0.4,es;q=0.3' (length=77)

baseFile($domain=false)

获取当前执行的文件,$domain 是否包含域名

index.php
http://127.0.0.1:8000/index.php

baseUrl($domain=false)

获取当前的url 不含QUERY_STRING

/
http://127.0.0.1:8000/

contentType()

当前请求的 HTTP_CONTENT_TYPE

dispatch($dispatch = null)

设置或者获取当前请求的调度信息

domain($port = false)

获取当前包含协议,端口的域名,$port是否需要去掉端口号。

http://127.0.0.1:8000
array (size=11)
  'THINK_PATH' => string 'C:\code\tp5.1\thinkphp\' (length=23)
  'ROOT_PATH' => string 'C:\code\tp5.1\' (length=14)
  'APP_PATH' => string 'C:\code\tp5.1\application\' (length=26)
  'CONFIG_PATH' => string 'C:\code\tp5.1\config\' (length=21)
  'ROUTE_PATH' => string 'C:\code\tp5.1\route\' (length=20)
  'RUNTIME_PATH' => string 'C:\code\tp5.1\runtime\' (length=22)
  'EXTEND_PATH' => string 'C:\code\tp5.1\extend\' (length=21)
  'VENDOR_PATH' => string 'C:\code\tp5.1\vendor\' (length=21)
  'APP_NAMESPACE' => string 'app' (length=3)
  'MODULE_PATH' => string 'C:\code\tp5.1\application\' (length=26)
  'APP_DEBUG' => boolean true

ext()

当前url的访问后缀

file($name = '')

获取上传的文件信息

object(think\File)[33]
  private 'error' => string '' (length=0)
  protected 'filename' => string 'D:\xampp\tmp\php9474.tmp' (length=24)
  protected 'saveName' => null
  protected 'rule' => string 'date' (length=4)
  protected 'validate' => 
    array (size=0)
      empty
  protected 'isTest' => null
  protected 'info' => 
    array (size=5)
      'name' => string 'certification.jpg' (length=17)
      'type' => string 'image/jpeg' (length=10)
      'tmp_name' => string 'D:\xampp\tmp\php9474.tmp' (length=24)
      'error' => int 0
      'size' => int 121341
  protected 'hash' => 
    array (size=0)
      empty

getContent()

获取当前请求的content

getInput()

获取当前请求的php://input

hook($method, $callback = null)

hook方法注入

host($strict = false)

当前请求的host,$strict true 仅仅获取host

127.0.0.1:8000 //strict false
127.0.0.1 //strict true

ip($type = 0, $adv = true)

isAjax($ajax = false)

判断是否Ajax请求

isCgi()

是否cgi

isCli()

是否cli

isDelete

isGet()

isHead()

isJson()

isMobile()

检测是否使用手机访问

isOptions()

isPatch()

isPjax($pjax = false)

isPost()

isPut()

isSsl()

langset()

获取当前设置的语言

method($origin = false)

获取当前的请求类型,origin 是否获取原始的请求类型

mimeType($type, $val = '')

设置资源类型

panDomain()

获取当前的泛域名

path()

获取当前请求URL的pathinfo信息(不含URL后缀)

pathinfo()

获取当前请求URL的pathinfo信息(含url后缀)

port()

当前请求的端口信息

protocol()

当前请求 SERVER_PROTOCOL

HTTP/1.1

query()

当前地址中的query参数

remotePort()

root($domain = false)

获取URL访问根地址 $domain 是否包含域名

rootDomain()

获取当前的根域名

rootUrl()

获取URL访问根目录

route($name = '', $default = null, $filter = '')

获取路由参数

routeInfo(array $route=[])

获取当前请求的路由信息

scheme()

获取当前URL地址中的scheme参数,https还是http

secureKey()

获取当前请求的安全key

   public function secureKey()
    {
        if (is_null($this->secureKey)) {
            $this->secureKey = uniqid('', true);
        }

        return $this->secureKey;
    }

server($name = '', $default = null)

获取server参数

session($name = '', $default = null)

获取session

setAction($action)

设置当前的操作名

setBaseUrl($url)

设置当前的完整url,不含query_string

setController($controller)

设置当前的控制器名

setHost($host)

设置当前的请求的host包含端口

setLangset($lang)

设置当前的语言

setModule($module)

设置当前的模块名

setPanDomain($domain)

time($float = false)

获取当前请求的时间

token($name = '__token__', $type = null)

生成请求令牌

/**
     * 生成请求令牌
     * @access public
     * @param  string $name 令牌名称
     * @param  mixed  $type 令牌生成方法
     * @return string
     */
    public function token($name = '__token__', $type = null)
    {
        $type  = is_callable($type) ? $type : 'md5';
        $token = call_user_func($type, $this->server('REQUEST_TIME_FLOAT'));

        if ($this->isAjax()) {
            header($name . ': ' . $token);
        }

        facade\Session::set($name, $token);

        return $token;
    }

type()

当前请求的资源类型

xml

url($complete = false)

获取当前完整的url,包含query_string

$complete 是否包含域名

withCookie(array $cookie)

设置cookie数据

withServer(array $server)

withEnv(array $env)

withFiles(array $files)

withGet(array $get)

withHeader(array $header)

withInput($input)

设置 php://input 数据

withPost(array $post)

withRoute(array $route)

withServer(array $server)


本文由 yang 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。

楼主残忍的关闭了评论