Request 类

 

Request 类是一个静态类:

静态方法名称

get(string $name = '', $default = null): mixed


从 $_GET 中取值

$name 参数名
例子如:
id
id:i   表示返回值转成int类型
name
name:s  表示返回值是 string 类型

修饰符说明
:i  int  ,:s 字符串 :b bool类型,:f 浮点数,:a 数组(来自表单提交的数组,或者 1,2,3,4 逗号分割整数的字符串 或者 json 字符串均可转成数组)

$default 是默认值,如果获取不到将使用该默认值。

post(string $name = '', $default = null): mixed

从 $_POST 中取值
$name 参数名,$default 是默认值,如果获取不到将使用该默认值。
与get方法一样,支持参数名修饰符

param(string $name = '', $default = null): mixed


从 $_REQUEST 中取值
$name 参数名,$default 是默认值,如果获取不到将使用该默认值。
与get方法一样,支持参数名修饰符

body($default = null): string|null


从 php://input 中取值
$default 是默认值

put(string $name = '', $default = null): mixed


通过 php://input 提交的数据,解析内容并取相应的值

method=PUT  时内容提交应为 url形式如果

name=wj008&type=123
$name 参数名,$default 是默认值,如果获取不到将使用该默认值。
与get方法一样,支持参数名修饰符


delete(string $name = '', $default = null): mixed


通过 php://input 提交的数据,解析内容并取相应的值

method=DELETE  时内容提交应为 url形式如果

name=wj008&type=123
$name 参数名,$default 是默认值,如果获取不到将使用该默认值。
与get方法一样,支持参数名修饰符

server(string $key = '', $default = null): string|null


从 $_SERVER 中取值
$name 参数名,$default 是默认值,如果获取不到将使用该默认值。
与get方法一样,支持参数名修饰符


host(string $default = ''): string


获取当前域名

port(bool $decorated = false): int|string

获取当前端口
$decorated
如果为真,则返回字符串,如果是 80和443端口返回空字符串,其他端口返回
":端口号"
如果为假,则返回整数端口号。

scheme(bool $decorated = false): string


获取请求 scheme 信息 即 http 或者 https
$decorated
如果为真 返回 http:// 或者 https:// 如果为假 返回 http 或者 https

method(): string


获取请求方式
返回值均为大写 如果 GET  POST DELETE PUT 等

isAjax(): bool


判断是否ajax 请求。
一般约定
如果后缀是 .json 的认为是ajax请求
如果请求头中  有 Request-Ajax=1
或者使用jQurey ajax请求即 请求头

X-Requested-With=xmlhttprequest  或者

X-Requested-With=fetch 
均认为是ajax请求。

isGet(): bool


是否GET请求

isPost(): bool


是否POST请求

isPut(): bool


是否PUT请求

isDelete(): bool


是否DELETE请求

getSessionId(): string


获取 sessionId

setSessionId(string $ssid)


设置sessionId只有在使用redis的情况下可用。

getSession(string $name = '', $default = null): mixed


从 $_SESSION 中取值

$name 参数名,$default 是默认值,如果获取不到将使用该默认值。
与get方法一样,支持参数名修饰符
如果使用Redis 保存Session 请使用该方法读取session 在 $_SESSION 中将读取不到任何值

setSession(string|array $name, mixed $value = null)


设置 SESSION 值。
如果 $name 是键值对将批量设置,如果是字符串 则单个设置。
如果使用Redis 保存Session 请使用该方法设置session 否则将不能正确设置SESSION

clearSession()


清空所有 SESSION

getCookie(string $name = '', $default = null):mixed


读取cookie数据
$name 参数名,$default 是默认值,如果获取不到将使用该默认值。
与get方法一样,支持参数名修饰符

setCookie(string $name, string $value, ?array $options = null): bool


设置cookie 
$name 参数名,$value 设置的值,$options 设置选项

$options['expire'] 过期时间
$options['path'] 设置路径
$options['domain'] 设置域名
$options['secure']  可选
$options['httponly'] 可选

可参考

setcookie 的选项设置

 

route(string $name = '', $default = null):?string

等价与 App::get($name)
可支持设置默认值

setHeader(string $name, string $value, bool $replace = true, $http_response_code = null)


设置头 与 header() 类似

setContentType($type, $encoding = 'utf-8')


设置输出内容类型及编码 如 png  json html 等等..
参见代码

Request::$formats

 

ip(bool $proxy = false, bool $forward = false): string


获取IP地址。
$proxy 是否支持代理获取地址(开启代理IP地址可以被伪造)
$forward 如果使用代理,是否支持获取代理写给服务器的客户端IP(开启代理IP地址可以被伪造)

referrer(?string $default = ''): string|null

获取上一个请求的页面地址

query(bool $decorated = false): string


获取url中请求的字符串。

$decorated
如果为真则请求参数带有 ? 号
如:?name=wj008
如果为假则不带?号
如:name=wj008

 

domain(bool $decorated = false): string


获取域名信息
$decorated 
如果为真则获取带有http:// 或者 https:// 的域名信息
如:http://www.wj008.net
如果为假则返回 不带 scheme
www.wj008.net




上一篇:生成URL
下一篇:Config 类
Copyright © 2021 海南的叶子 All Rights Reserved 琼ICP备2021000725号

琼公网安备 46900702000037号