Request

YY框架中对请求的操作封装在Request类中。

操作方法:

get

Request::get(string $pam, mixed $default) 
获取get方式提交的参数
参数为null则为判断是否有get提交

Parameters:  
string $pam 参数名称     
mixed $default 如果不存在请求内容则为传入的默认值,此值可以为闭包函数

Returns:
  string 参数值 

post

Request::post(string $pam, mixed $default) 
获取post方式提交的参数
参数为null则为判断是否有post提交

Parameters:  
string $pam 参数名称     
mixed $default 如果不存在请求内容则为传入的默认值,此值可以为闭包函数

Returns:
  mixed 参数值 字串或数组 

obtain

Request::obtain(string $pam, mixed $default) 
获取提交的参数(包含get,post等方式)
参数为null则为判断是否有请求

Parameters:  
string $pam 参数名称     
mixed $default 如果不存在请求内容则为传入的默认值,此值可以为闭包函数

Returns:
  mixed 参数值 字串或数组 

ip

Request::ip() 
获得客户端IP(真实的IP地址)

Returns:
  string 客户端IP地址 

is_proxy

Request::is_proxy() 
判断用户是否通过代理访问
对于超匿名代理无法判断出来
如果网站本身采用了cdn加速等功能的话正常用户会被误判断成代理访问的。

Returns:
  string 客户端IP地址 

page

Request::page() 
URL请求中含有分页参数表示的页数
没有分页参数则返回1

Returns:
  integer 页数 

例如:请求为http://www.yyuc.net/news/2012/index_3html,则:Request::page() 的值为3

part

Request::part(integer $index) 
层级式URL解析时的各级名称
级别索引 从0开始

Parameters:

integer $index 索引
Returns:
  string URL中的路径名称

例如:请求为http://www.yyuc.net/linux/install/sendmail.html,则:

$num = Request::part(); $num的值为3。

$link0 = Request::part(0); $link0的值为linux。

$link1 = Request::part(1); $link1的值为install。

$link2 = Request::part(2); $link2的值为sendmail。

注意:Request的操作是针对用户请求的,即使你做了自定义路由,part方法也不会受影响。如把/linux/install/sendmail.html映射到/linux/sendmail.php,Request::part(1)仍然为install

part方法是自定义路由中控制器常常调用的方法,通常情况下自定义路由中需要把用户的真实请求的URL段作为判断和查询的依据。详细请参阅自定路由

is_normal_cache

Request::is_normal_cache() 
判断当前请求是不是常规缓存的请求

Returns:
  string URL 

有关缓存的详细介绍请参阅页面缓存

url

Request::url() 
获得用户请求的真实URL
不带请求后缀

Returns:
  string URL

和part方法一样,这个方法也是用户请求的真实体现。

part_control

Request::part_control(integer $index) 
控制器层级式URL解析时的各级名称
级别索引 从0开始

Parameters:  
integer $index 索引
Returns:
  string URL中的路径名称

part_control方法和part方法不同,part_control是针对当前实际执行的控制器而言的。

json

Request::json() 
获得ajax请求的JSON数据 并转换为PHP数组
客户端请求的参数名称必须是:'data'    

Returns:
  array 请求数组