码迷,mamicode.com
首页 > 移动开发 > 详细

Yii2中的模块、应用程序(Module,Application)

时间:2016-06-01 22:57:26      阅读:457      评论:0      收藏:0      [点我收藏+]

标签:

原文地址:http://www.kuitao8.com/20140626/2715.shtml

模块(Module )


模块是一个功能独立的逻辑单元,每一个模块都可以包含有多个子模块,但每个模块只能有一个对应的父模块(如果有的话)。它的定义在yii\base\Module 


应用程序(Application)

Yii2中的应用程序有两种:web应用程序(yii\web\Application)和控制台应用程序(yii\console\Application)。他们都继承于yii\base\Application。而yii\base\Application又是从模块yii\base\Module 继承来的。

所以web应用程序(yii\web\Application)和控制台应用程序(yii\console\Application)也都是模块。

但他们和普通的模块又不一样,这两个是可直接运行的特殊的模块,是所有其它自定义模块的根级别的父模块。

我们可以用yii提供的Gii来生成我们需要的模块
 

  • Module Class输入完整的命名空间和模块类名称

  • Module ID 是这个模块的唯一标识,不能和其它模块重复。


点击generator后生成
 
这个用Gii添加一个admin模块的界面。

我们用相同的方法再添加一个bbs模块和一个blog模块。最后生成的项目目录结构如下。
 
其中左侧的是配置文件,把这三个模块作为base application的子模块。
右侧为和modules目录下面生成的三个模块。每个模块都是独立的功能单元,可包含controller、views等等。


模块ID及访问

在yii中所有的module、controller、action都有id,唯独application是一个特例,它的ID为空,也就是说可运行的根结点的应用程序的ID为空。

我们要访问一个模块的话,路由格式为?r=module id/controller id/action id 其中模块的Id就为modules中对应的文件夹
因为应用程序(也就是根模块)的ID为空,所以访问应用程序的时候不需要加模块InD,它的路由格式为?r=controller id/action id


应用程序(Application)也是一种模块(Module),是存在于入口脚本中直接运行的模块。是当前应用程序中其它模块的父模块。模块(Module)中的所有的操作及属性都可应用于应用程序
 

Yii2中的模块、应用程序(Module,Application)

标签:

原文地址:http://www.cnblogs.com/LoveJulin/p/5551355.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!