模块

2025年3月17日 | 阅读 3 分钟

模块驻留在主应用程序中,并被组织成一个目录,该目录被称为模块的基路径。这个模块目录将拥有自己的 MVC (模型、视图和控制器) 和其他支持组件,就像一个应用程序一样。


模块结构

模块遵循一个典型的结构,如下所示。

模块类

模块类特性

  • 每个模块都应该有一个唯一的类,它扩展到 yii\base\Module。
  • 类应该位于模块的基路径下,并且应该是可访问的。
  • 在执行时,将创建一个模块类的单个实例。
  • 模块实例用于在模块内的代码中共享数据和组件。
  • 默认情况下,它被命名为 Module.php。

示例

让我们看一个例子来创建一个模块。

步骤 1 在 Yii2 文件夹的 Frontend 目录中创建名为 modules 的文件夹。

步骤 2 在 modules 文件夹中创建一个名为 project 的文件夹。

步骤 3 在 project 文件夹中创建一个名为 Project.php 的文件。

查看上面的代码,这是我们创建的模块类。 这里的 init() 函数用于初始化模块的属性。

步骤 4 在 project 文件夹中创建另外两个名为 controllersviews 的文件夹。

步骤 5controllers 文件夹中 创建 EmpController.php 文件。

查看上面的快照,这里我们定义了操作 actionMessage。

步骤 6views 文件夹中创建 emp 文件夹,并在其中创建 message.php 文件。

<h1>这是一个创建模块的示例。</h1>

下面的快照显示了我们在 modd 目录中的最终模块结构。它显示了在 modd/frontend/modules 目录中创建的所有文件。

YII Moudles 1

步骤 7 现在我们需要进行一些配置设置来添加我们的模块。转到前端目录的 config 文件夹。

将模块添加到 config 文件夹中的文件 main.php 中。

步骤 8 使用以下 URL 在浏览器中运行它,

https:///modd/frontend/web/index.php?r=project/emp/message

YII Moudles 2

重要提示

  • 模块应该用于大型应用程序。将其功能划分为几个组,并将它们开发为模块。
  • 模块应该可重复用于未来的项目。
下一个主题YII 小部件