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 −来自网络的入口点。
应用程序结构
以下是应用程序结构的示意图。
![应用程序结构](/yii/images/application_structure.jpg)
Yii2 – 对象
以下列表包含所有 Yii2 的对象 −
模型、视图和控制器
模型用于数据表示(通常来自数据库)。视图用于显示数据。控制器用于处理请求和生成响应。
组件
要创建可重用的功能,用户可以编写自己的组件。组件只是包含逻辑的对象。例如,组件可以是权重转换器。
应用程序组件
这些是在整个应用程序中仅实例化一次的对象。组件和应用程序组件之间的主要区别在于后者在整个应用程序中只能有一个实例。
小部件
小部件是包含逻辑和渲染代码的可重用对象。例如,小部件可以是图库滑块。
过滤器
过滤器是在执行控制器操作之前或之后运行的对象。
模块
您可以将模块视为可重用的子应用程序,包含模型、视图、控制器等。
扩展
扩展是可以由 Composer 管理的包。