在Yii2.x框架中,引入了模块(Modules)这个概念,那么什么是模块呢? (推荐学习:yii框架)
模块是独立的软件单元,由模型,视图, 控制器和其他支持组件组成, 终端用户可以访问在应用主体中已安装的模块的控制器, 模块被当成小应用主体来看待,和应用主体不同的是, 模块不能单独部署,必须属于某个应用主体。
上面的描述是简单理解就是你在现有的框架中又创建了一个子应用主体,但是这个子应用必须依赖于框架本身这个主应用主体,不能独立部署。
看图,表现的比较直接:
图中红框所示的module就是模块所在的位置,其中存在一个admin模块。(图片的logo挡住了最下面的一个非常重要的文件,Admin.php)。
创建及配置模块
模块被组织成一个称为 base path 的目录, 在该目录中有子目录如 controllers,models,views 分别为对应控制器,模型,视图和其他代码,和应用非常类似。 以我上图例子为例:
admin/ Admin.php 模块类文件 config.php 模块配置文件(自行手动创建) controllers/ 包含控制器类文件 models/ 包含模型类文件 views/ 包含控制器视图文件和布局文件
模块类文件
每个模块都有一个继承 yii\base\Module 的模块类, 该类文件直接放在模块的 base path 目录下, 并且能被 自动加载。当一个模块被访问, 和 应用主体实例 类似会创建该模块类唯一实例,模块实例用来帮模块内代码共享数据和组件。
以上是yii2 如何使用module的详细内容。更多信息请关注PHP中文网其他相关文章!