上一篇文章中,我简单搭建了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.请求生命周期
以下图表展示了一个应用如何处理请求:
- 用户向入口脚本
web/index.php
发起请求。 - 入口脚本加载应用配置并创建一个应用 实例去处理请求。
- 应用通过请求组件解析请求的 路由。
- 应用创建一个控制器实例去处理请求。
- 控制器创建一个动作实例并针对操作执行过滤器。
- 如果任何一个过滤器返回失败,则动作取消。
- 如果所有过滤器都通过,动作将被执行。
- 动作会加载一个数据模型,或许是来自数据库。
- 动作会渲染一个视图,把数据模型提供给它。
- 渲染结果返回给响应组件。
- 响应组件发送渲染结果给用户浏览器。