但凡Web框架,PHP也好,Java也好,还是其它语言,都会把请求用一个Request类来封装,响应则用Response类来封装。
Web应用的典型流程就是 接收Request,处理之,输出Response。
Yaf中表示Request的类有三个,分别是
- Yaf_Request_Abstract
- Yaf_Request_Http
- Yaf_Request_Simple
其中,Yaf_Request_Http和Yaf_Request_Simple都是继承自Yaf_Request_Abstract。
Yaf会自动实例化出一个Yaf_Request_Http实例,在控制器中可以用getRequest()方法获取,一个Yaf_Request_Http实例代表一个实际的Http请求。
一、Yaf_Http_Request类常用方法(排名不分先后)
序号 | 方法 | 说明 |
---|---|---|
1 | getModuleName() |
获取当前请求被路由到的模块名称,首字母大写形式 |
2 | getControllerName() |
获取当前请求被路由到的控制器名称,首字母大写形式 |
3 | getActionName() |
获取当前请求被路由到的动作名称 |
4 | getRequestUri() |
获取当前请求的request_uri |
5 | getMethod() |
获取请求方法, GET、POST、HEAD等 |
6 | getServer(string $name [, string $default]) |
获取$_SERVER变量的值 |
7 | getParam(string $name [, string $default]) |
获取路由参数$name 的值(路由协议根据request_uri解析出来的参数,与$_GET 、$_POST 不等同) |
8 | getParams() |
获取所有路由参数 |
9 | isCli() |
是否从命令行运行 |
10 | isGet() |
HTTP请求方法是否为GET方法 |
11 | isPost() |
是否为POST方法 |
12 | isHead() |
是否为HEAD方法(该方法只返回HTTP报头)和状态行 |
13 | sXmlHttpRequest() |
是否为Ajax请求($_SERVER['HTTP_X_REQUESTED_WITH'] 的值为’XMLHttpRequest’) |
14 | getPost(string $name [, string $default]) |
获取$_POST |