目录搜索
阅读前篇简介Yii 是什么从 Yii 1.1 升级入门安装 Yii运行应用第一次问候使用Forms数据库应用使用 Gii 生成代码进阶应用结构概述入口脚本应用(Applications)应用组件(Application Components)控制器(Controllers)模型(Models)视图(views)模块(Modules)过滤器(Filters)小部件(Widgets)前端资源(Assets)扩展(Extensions)请求处理运行概述启动引导(Bootstrapping)路由和创建URL请求(Requests)响应(Responses)Sessions 和 Cookies错误处理(Handling Errors)日志(Logging)关键概念组件(Component)属性(Property)事件(Events)行为(Behaviors)配置(Configurations)别名(Aliases)类自动加载(Autoloading)服务定位器(Service Locator)依赖注入容器(Dependency Injection Container)配合数据库工作数据库访问 (Data Access Objects)查询生成器(Query Builder)活动记录(Active Record)数据库迁移(Migrations)SphinxRedisMongoDBElasticsearch接收用户数据创建表单(Creating Forms)输入验证(Validating Input)文件上传(Uploading Files)收集列表输入(Collecting Tabular Input)多模型的复合表单(Getting Data for Multiple Models)显示数据格式化输出数据(Data Formatting)分页(Pagination)排序(Sorting)数据提供器(Data Providers)数据小部件(Data Widgets)客户端脚本使用(Working with Client Scripts)主题(Theming)安全认证(Authentication)授权(Authorization)处理密码(Working with Passwords)客户端认证(Auth Clients)最佳安全实践(Best Practices)缓存概述数据缓存片段缓存页面缓存HTTP 缓存RESTfull Web服务快速入门(Quick Start)资源(Resources)控制器(Controllers)路由(Routing)格式化响应(Response Formatting)授权认证(Authentication)速率限制(Rate Limiting)版本(Versioning)错误处理(Error Handling)开发工具调试工具栏和调试器使用Gii生成代码生成API文档测试概述(Overview)配置测试环境(Testing environment setup)单元测试(Unit Tests)功能测试(Function Tests)验收测试(Acceptance Tests)测试夹具(Fixtures)高级专题高级应用模板创建自定义应用程序结构控制台命令核心验证器(Core Validators)国际化收发邮件性能优化共享主机环境模板引擎集成第三方代码小部件Bootstrap 小部件Jquery UI助手类概述Array 助手(ArrayHelper)Html 助手(Html)Url 助手(Url)
文字

运行机制概述

运行机制概述

每一次 Yii 应用开始处理 HTTP 请求时,它都会进行一个近似的流程。

  1. 用户提交指向 入口脚本 web/index.php 的请求。
  2. 入口脚本会加载 配置数组 并创建一个 应用 实例用于处理该请求。
  3. 应用会通过 request(请求) 应用组件解析被请求的 路由。
  4. 应用创建一个 controller(控制器) 实例具体处理请求。
  5. 控制器会创建一个 action(动作) 实例并为该动作执行相关的 Filters(访问过滤器)。
  6. 如果任何一个过滤器验证失败,该动作会被取消。
  7. 如果全部的过滤器都通过,该动作就会被执行。
  8. 动作会加载一个数据模型,一般是从数据库中加载。
  9. 动作会渲染一个 View(视图),并为其提供所需的数据模型。
  10. 渲染得到的结果会返回给 response(响应) 应用组件。
  11. 响应组件会把渲染结果发回给用户的浏览器。

下面的示意图展示了应用是如何处理一个请求的。

Request Lifecycle

在这个版块中,我们会更加详细地描述某些步骤的具体运作。
上一篇:下一篇: