上一篇文章中,我简单搭建了yii2框架:yii2——windows下搭建yii2框架的安装与运行(1) – 每天进步一点点 (longkui.site)

这篇文章中,我们简单介绍一下,搭建的yii2框架的基本目录结构

我们运行程序后,默认打开的是views/layouts/main.php的页面,这个页面包含四个子页面

主页:index.php,关于页:about.php,联系页:Contact.php,登录页:Login.php

然后这些生成的页面你都可以进行操作和自由编辑(在你会的情况下)

1.程序结构

yii2框架创建的默认程序结构:

assets              静态资源
commands            包含控制台命令类
config
  -console.php      控制台应用配置信息
  -db.php           数据库配置信息
  -params.php       参数配置信息
  -test_db.php      测试数据库配置信息
  -test.php         测试用
  -web.php          web应用配置信息 
controllers         控制器类(MVC中的C)
mail                邮件相关
models              模型类(MVC中的M)
runtime             包含yii2在运行时生成的文件,例如日志和缓存文件
tests               测试相关
vagrant             虚拟配置相关
vendor              包含已经安装的 Composer 包,包括 Yii 框架自身
views               包含视图文件
web                 Web 应用根目录,包含 Web 入口文件
  - assets          包含 Yii 发布的资源文件(javascript 和 css)
  - index.php       应用入口文件
  - css             网站样式文件
  -favicon.ico      网站图标
widgets             挂件相关
composer.json       Composer 配置文件, 描述包信息
composer.lock       用来锁定依赖包的版本信息
docker-composer.yml docker配置相关
yii.bat             yii用于程序后台运行和维护任务
2.设计模式

yii框架是MVC设计模式。modules包含了所有的模型类,views目录包含了所有的视图脚本,controllers目录包含所有的控制器类。

用下面的图展示了一个静态结构:

每个应用都有一个入口脚本 web/index.php,这是整个应用中唯一可以访问的 PHP 脚本。 入口脚本接受一个 Web 请求并创建应用实例去处理它。 应用在它的组件辅助下解析请求, 并分派请求至 MVC 元素。视图使用小部件 去创建复杂和动态的用户界面。

3.请求生命周期

以下图表展示了一个应用如何处理请求:

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