Yii 应用程序结构
整个代码库中只有一个文件夹对Web服务器可公开访问。这个文件夹是web目录。其他在Web根目录之外的文件夹对Web服务器是不可访问的。
注意 - 所有项目的依赖关系都在 composer.json 文件中。Yii2已经通过Composer在您的项目中包含了一些重要的软件包。这些软件包包括以下内容:
- Gii – 代码生成工具
- 调试控制台
- Codeception测试框架
- SwiftMailer库
- Twitter Bootstrap UI库
前三个软件包仅在开发环境中有用。
Yii2的应用程序结构精确而清晰。它包含以下文件夹:
- Assets - 此文件夹包含网页中引用的所有.js和.css文件。
-
Commands - 此文件夹包含可从终端使用的控制器。
-
Config - 此文件夹包含用于管理数据库、应用程序和应用程序参数的 config 文件。
-
Mail - 此文件夹包含邮件布局。
-
Models - 此文件夹包含应用程序中使用的模型。
-
Runtime - 用于存储运行时数据的文件夹。
-
Tests - 此文件夹包含所有测试(验收、单元、功能)。
-
Vendor - 此文件夹包含由Composer管理的所有第三方软件包。
-
Views - 此文件夹用于显示控制器显示的视图。layout文件夹是页面模板。
-
Web - 从Web进入的入口点。
应用程序结构
以下是应用程序结构的图表表示。
Yii2 – 对象
以下列表包含了Yii2的所有对象−
模型,视图和控制器
模型用于数据表示(通常来自数据库)。视图用于显示数据。控制器用于处理请求和生成响应。
组件
用户可以编写自己的组件以创建可重用的功能。组件只是包含逻辑的对象。例如,一个组件可以是一个重量转换器。
应用组件
这些对象在整个应用程序中只实例化一次。组件和应用组件之间的主要区别在于后者在整个应用程序中只能有一个实例。
小部件
小部件是包含逻辑和渲染代码的可重用对象。例如,一个小部件可以是一个画廊滑块。
过滤器
过滤器是在控制器操作执行之前或之后运行的对象。
模块
您可以将模块视为包含模型、视图、控制器等的可重用子应用程序。
扩展
扩展是可以由Composer管理的包。