Yii - 应用程序结构

  • 简述

    整个代码库中只有一个文件夹可供 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 - 此文件夹用于视图,由控制器显示。布局文件夹是页面模板。
    • Web - 来自网络的入口点。
  • 应用结构

    以下是应用程序结构的图解表示。
    应用结构
  • Yii2 – 对象

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

    Models, Views, 和 Controllers

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

    Components

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

    应用程序组件(Components)

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

    小部件(Widgets)

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

    过滤器(Filters)

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

    模块(Modules)

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

    扩展(Extensions)

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