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