Yii 应用程序结构

整个代码库中只有一个可供公开的Web文件夹。这是网络目录。Web根目录之外的其他文件夹对于Web服务器而言是无法访问的。

- 所有项目依赖关系都位于 composer.json 文件中。Yii2有一些重要的软件包已经被Composer包含在你的项目中。这些软件包如下所示 -

  • Gii - 代码生成器工具
  • 调试控制台
  • Codeception测试框架
  • SwiftMailer库
  • Twitter Bootstrap用户界面库

前三个软件包仅在开发环境中有用。

Yii2的应用程序结构准确,清晰。它包含以下文件夹 -

  • 资产 - 此文件夹包括网页中引用的所有.js和.css文件。
  • 命令 - 该文件夹包含可以从终端使用的控制器。
  • 配置 - 该文件夹包含 用于管理数据库,应用程序和应用程序参数的 配置 文件。
  • 邮件 - 此文件夹包含邮件布局。
  • 模型 - 此文件夹包含应用程序中使用的模型。
  • 运行时 - 此文件夹用于存储运行时数据。
  • 测试 - 该文件夹包含所有测试(验收,单位,功能)。
  • 供应商 - 此文件夹包含由Composer管理的所有第三方软件包。
  • 视图 - 该文件夹用于控制器显示的视图。 该 布局 文件夹是用于页面模板。
  • 网络 - 来自网络的入口点。

 

应用结构

以下是应用程序结构的图示。

应用结构

 

Yii2 - 物件

以下列表包含所有Yii2的对象 -

模型,视图和控制器

模型用于数据表示(通常来自数据库)。视图用于显示数据。控制器用于处理请求并生成响应。

组件

为了创建可重用的功能,用户可以编写他自己的组件。组件只是包含逻辑的对象。例如,一个组件可能是一个权重转换器。

应用组件

这些是在整个应用程序中实例化一次的对象。组件和应用程序组件之间的主要区别在于后者在整个应用程序中只能有一个实例。

小工具

小部件是包含逻辑和呈现代码的可重用对象。一个小部件可以是,例如,一个画廊滑块。

过滤器

筛选器是在执行Controller操作之前或之后运行的对象。

模块

您可以将模块视为可重用的子应用程序,包含模型,视图,控制器等等。

扩展

扩展程序是可由Composer管理的程序包。

条目脚本负责启动请求处理周期。它们只是用户可访问的PHP脚本。下图显示了应用程序的结构 -Web应用程序(以及控制台应用程序)只有一个入口脚本。最终用户向输入脚本发出请求。然后入口脚本实例化应用程序实例并将请求转发给它们。 ...