Yii - 应用程序结构



在整个代码库中,只有一个文件夹对 Web 服务器公开可用。它是 web 目录。Web 根目录之外的其他文件夹无法被 Web 服务器访问。

注意 − 所有项目依赖项都位于 composer.json 文件中。Yii2 有几个重要的包,它们已由 Composer 包含在您的项目中。这些包如下所示:

  • Gii – 代码生成工具
  • 调试控制台
  • Codeception 测试框架
  • SwiftMailer 库
  • Twitter Bootstrap UI 库

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

Yii2 的应用程序结构精确而清晰。它包含以下文件夹:

  • Assets − 此文件夹包含网页中引用的所有 .js 和 .css 文件。

  • Commands − 此文件夹包含可从终端使用的控制器。

  • Config − 此文件夹包含用于管理数据库、应用程序和应用程序参数的配置文件。

  • Mail − 此文件夹包含邮件布局。

  • Models − 此文件夹包含应用程序中使用的模型。

  • Runtime − 此文件夹用于存储运行时数据。

  • Tests − 此文件夹包含所有测试(验收、单元、功能)。

  • Vendor − 此文件夹包含由 Composer 管理的所有第三方包。

  • Views − 此文件夹用于视图,这些视图由控制器显示。layout 文件夹用于页面模板。

  • Web − Web 的入口点。

应用程序结构

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

Application Structure

Yii2 – 对象

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

模型、视图和控制器

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

组件

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

应用程序组件

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

小部件

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

过滤器

过滤器是在控制器操作执行之前或之后运行的对象。

模块

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

扩展

扩展是可以由 Composer 管理的包。

广告