Yii入门指导(三):Yii“模块”窥探

1,Yii模块简介
php

Yii中的模块,能够把它看作成一个单独的应用,它具备独立的控制器、模型、视图以及组件等。数据库

一般状况下,咱们使用Yii作WEB项目开发,那么默认的Yii应用咱们能够做为WEB的前台,当须要有一个后台的时候,浏览器

这个状况下就须要新创建一个“模块”,而后让这个新创建的模块充当“后台”的角色。yii

想必这种比喻最可以说明Yii中模块的含义了。。。。。。布局

如今咱们的项目结构以下图:
this

那么当咱们在浏览器中访问:http://localhost/testyii/index.php?r=site/index  或者 http://localhost/testyii/ spa

的时候,访问到的是:protected/controllers/SiteController.php 中的 SiteController类中的actionIndex方法,调用的视图是动做方法中指定的视图文件:$this->render('index');,视图文件位于:protected/views/site/index.phpcomponent

那这个默认访问到的应用,咱们叫它是默认的Yii应用继承

2,神奇的gii资源

在Yii中存在这么一个东西叫“gii”

使用它能够“自动建立”Yii中的模块、控制器、表单、数据库CURD操做、数据模型

我也把它叫作“Yii中的魔术师”,可是我除了在建立模块的时候须要它上场以外,其它的都不会去使用它,由于我仍是以为“本身动手丰衣足食”

3,使用gii建立”后台模块“

在Yii中,对于”单独的应用“是以”模块“的形式存在,而对于”核心及扩展类“则是以”组件“的形式存在

那么gii是属于一个”单独的应用“,所以它是以”模块“的形式存在,若是要使用gii,则首先须要在项目的主配置文件

main.php中去”开启gii模块“,main.php文件位于:protected/config

打开main.php文件,找到以下图所示代码处,默认状况下gii模块是被注释掉的,则须要去掉注释。

而后经过浏览器访问:http://localhost/testyii/index.php?r=gii

当提示须要输入密码的时候,就输入上面咱们本身设置的密码便可,登陆进去以后的界面以下图:


进入到”自动建立模块“,界面以下:

点击”Generate“进行生成,结果以下:

当生成以后,在”protected“目录下会多出一个”modules“文件夹,在该文件夹下面就是咱们建立的全部的”模块“

那为了在项目中引入并使用这个模块,咱们须要在main.php作一些配置,根据上面的提示。

而后就能够经过浏览器来访问当前的模块:http://localhost/testyii/index.php?r=admin

访问后的界面以下图:

根据显示的结果,咱们会发现,默认状况下后台模块的视图文件采用的布局文件是咱们前台应用的布局文件,那这个也是说明了Yii的一个特色,就是:对资源的高度重复利用

Yii系统会在你访问后台模块渲染视图文件的时候去寻找布局文件,当发现后台模块并无指定布局文件,或者说指定后台模块控制器继承的”Controller“时就会向上寻找,也就是找到了默认应用”protected/components“下面的”Controller“,而后把该”Controller“中指定的布局文件应用到后台模块界面中。

那为了让后台模块具备本身的布局文件该怎么办?

首先须要在后台模块中建立一个”components“文件夹,而后再在该文件夹下面建立”Controller“控制器,以下图:

而后在该”Controller“中,指定后台模块的布局文件,或者是将后台模块的布局文件设置成没有,那么这个过程和前台设置布局文件的方法是一致,这里不作赘述。

我这里会把后台布局文件设置为没有,由于通常WEB后台是不须要布局文件的。


下一节继续:默认控制器修改、设置模块的单独配置文件、”后台“搭建及表单初探

相关文章
相关标签/搜索