yii框架学习(三)yii框架目录结构及yii是如何处理我们的请求的

一、目录结构

在上一章中,我们成功创建了yii并且跑起来了,下面我们进入basic项目根目录,来看一下yii的目录结构

  • composer.json Composer 配置文件, 描述包信息
  • config/ 包含应用配置及其它配置
    • console.php 控制台应用配置信息
    • web.php Web 应用配置信息
  • commands/ 包含控制台命令类
  • controllers/ 包含控制器类
  • models/ 包含模型类
  • runtime/ 包含Yii在运行时生成的文件,例如日志和缓存文件
  • vendor/ 包含已经安装的 Composer 包,包括 Yii 框架自身
  • views/ 包含视图文件
  • web/ Web 应用根目录,包含 Web 入口文件
    • assets/ 包含 Yii 发布的资源文件(javascript 和 css)
    • index.php 应用入口文件
  • yii Yii 控制台命令执行脚本

二、yii处理请求的流程

当我们访问http://localhost:8889/index.php时,yii是如何处理我们的请求的呢?让我们接着往下看,首先我们看一下yii的结构图

再来我们看一下yii针对客户端请求处理的流程图

下面我们来具体讲解一下流程:

  1. 用户向入口脚本web/index.php发起请求。
  2. 入口脚本加载应用配置并创建一个应用实例去处理请求。
  3. 应用通过请求组件解析请求的路由
  4. 应用创建一个控制器实例去处理请求。
  5. 控制器创建一个动作实例并针对操作执行过滤器
  6. 如果任何一个过滤器返回失败,则动作取消。
  7. 如果所有过滤器都通过,动作将被执行。
  8. 动作会加载一个数据模型,或许是来自数据库。
  9. 动作会渲染一个视图,把数据模型提供给它。
  10. 渲染结果返回给响应组件。
  11. 响应组件发送渲染结果给用户浏览器。

你可能感兴趣的:(yii框架学习(三)yii框架目录结构及yii是如何处理我们的请求的)