Yii 2.0 权威指南 (6) 请求处理
2016-08-11 07:34
176 查看
更多内容: http://blog.yuhai.win
1、引导
启动引导是指:在应用开始解析并处理接收请求之前,一个预先准备环境的过程。启动引导会在两个地方具体进行:
入口脚本和应用主体。
2、路由引导于创建
当入口脚本在调用 yii\web\Application::run 方法时,它进行的第一个操作就是解析输入的请求,然后实例化对应的控制器操作处理这个请求。该过程被称为引导路由。
3、请求
一个应用的请求是用 yii\web\Request 对象来表示的,该对象提供了诸如 请求参数(通常是GET参数或者POST参数)、HTTP 头、cookies 等信息。默认的情况下,对于给定的请求,你可以通过 request application component 应用组件 获取相应的请求对象。
4、响应
当应用处理玩一个请求后,会生成一个yii\web\Response 响应对象并发送给终端用户 响应对象包含的信息有HTTP 状态码,HTTP 头和主体内容等,网页应用开发的最终目的本质上就是根据不同的请求构建这些响应。
5、session 与cookie
yii 中可通过 yii\web\Session 实例的session 应用组件来访问 sessions
当 sessions 数据为数组的时候, sessions会限制你修改数据中的单元项。
可以使用以下方法进行变态处理
官方推荐使用最后一种方案,也就是不存储session 变量为数组,而是将每个数组向变成有相同键前缀的session变量。(我的理解是尽量使用以为数组或对象)
6、错误处理
yii\web\ErrorHandler 错误处理器默认启用, 可通过在应用的入口脚本中定义常量YII_ENABLE_ERROR_HANDLER来禁用。
7、日志
日志记录的主要方法:
1、Yii::trace():记录一条消息去跟踪一段代码是怎样运行的。这主要在开发的时候使用。
2、Yii::info():记录一条消息来传达一些有用的信息。
3、Yii::warning():记录一个警告消息用来指示一些已经发生的意外。
4、Yii::error():记录一个致命的错误,这个错误应该尽快被检查。
1、引导
启动引导是指:在应用开始解析并处理接收请求之前,一个预先准备环境的过程。启动引导会在两个地方具体进行:
入口脚本和应用主体。
2、路由引导于创建
当入口脚本在调用 yii\web\Application::run 方法时,它进行的第一个操作就是解析输入的请求,然后实例化对应的控制器操作处理这个请求。该过程被称为引导路由。
3、请求
一个应用的请求是用 yii\web\Request 对象来表示的,该对象提供了诸如 请求参数(通常是GET参数或者POST参数)、HTTP 头、cookies 等信息。默认的情况下,对于给定的请求,你可以通过 request application component 应用组件 获取相应的请求对象。
4、响应
当应用处理玩一个请求后,会生成一个yii\web\Response 响应对象并发送给终端用户 响应对象包含的信息有HTTP 状态码,HTTP 头和主体内容等,网页应用开发的最终目的本质上就是根据不同的请求构建这些响应。
5、session 与cookie
yii 中可通过 yii\web\Session 实例的session 应用组件来访问 sessions
当 sessions 数据为数组的时候, sessions会限制你修改数据中的单元项。
// 如下代码不会生效 $session['captcha']['number'] = 5; $session['captcha']['lifetime'] = 3600; // 如下代码会生效: $session['captcha'] = [ 'number' => 5, 'lifetime' => 3600, ];
可以使用以下方法进行变态处理
$session = Yii::$app->session; // 直接使用$_SESSION (确保Yii::$app->session->open() 已经调用) $_SESSION['captcha']['number'] = 5; $_SESSION['captcha']['lifetime'] = 3600; // 先获取session数据到一个数组,修改数组的值,然后保存数组到session中 $captcha = $session['captcha']; $captcha['number'] = 5; $captcha['lifetime'] = 3600; $session['captcha'] = $captcha; // 使用ArrayObject 数组对象代替数组 $session['captcha'] = new \ArrayObject; ... $session['captcha']['number'] = 5; $session['captcha']['lifetime'] = 3600; // 使用带通用前缀的键来存储数组 $session['captcha.number'] = 5; $session['captcha.lifetime'] = 3600;
官方推荐使用最后一种方案,也就是不存储session 变量为数组,而是将每个数组向变成有相同键前缀的session变量。(我的理解是尽量使用以为数组或对象)
6、错误处理
yii\web\ErrorHandler 错误处理器默认启用, 可通过在应用的入口脚本中定义常量YII_ENABLE_ERROR_HANDLER来禁用。
7、日志
日志记录的主要方法:
1、Yii::trace():记录一条消息去跟踪一段代码是怎样运行的。这主要在开发的时候使用。
2、Yii::info():记录一条消息来传达一些有用的信息。
3、Yii::warning():记录一个警告消息用来指示一些已经发生的意外。
4、Yii::error():记录一个致命的错误,这个错误应该尽快被检查。
相关文章推荐
- Yii 2.0 权威指南 (4) 使用 Gii 生成代码
- YII2.0框架(一) 请求处理类参考yii\web\Request
- Yii 2.0 权威指南 (5) 应用结构
- Yii 2.0 权威指南 (8) 配合数据库使用
- Yii框架2.0中文权威指南 - 在线手册发布
- Yii 2.0 权威指南 (2) 使用forms
- yii 2.0中文 权威指南
- Yii2.0 权威指南
- 9:Yii中的主题、日志、性能分析以及错误处理(Yii权威指南)
- Yii 2.0 权威指南(7) 关键概念
- Yii 2.0 权威指南(3) 使用数据库
- Yii 2.0 权威指南(1) 第一次问候
- 7:Yii中的Gii与Url处理(Yii权威指南)
- 4:使用数据库的DAO和AR(Yii权威指南)
- Node.js权威指南 (5) - 使用Buffer类处理二进制数据
- [Struts2官方指南的个人学习和翻译] Struts2的配置元素-请求处理元素
- 解读PHP的Yii框架中请求与响应的处理流程
- Node.js权威指南 (10) - Node.js中的错误处理与断言处理
- Yii框架入门教程(博客教程、权威指南、类手册)
- [JQ权威指南]使用全局函数get()向服务器请求数据