文档章节

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

Koma
 Koma
发布于 2014/10/22 16:20
字数 1053
阅读 558
收藏 9

1,Yii模块简介

Yii中的模块,可以把它看做成一个单独的应用,它具有独立的控制器、模型、视图以及组件等。

通常情况下,我们使用Yii做WEB项目开发,那么默认的Yii应用我们可以作为WEB的前台,当需要有一个后台的时候,

这个情况下就需要新建立一个“模块”,然后让这个新建立的模块充当“后台”的角色。

想必这种比喻最能够说明Yii中模块的含义了。。。。。。

现在我们的项目结构如下图:

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

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

那这个默认访问到的应用,我们叫它是默认的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后台是不需要布局文件的。


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


© 著作权归作者所有

Koma
粉丝 61
博文 144
码字总数 106280
作品 1
天津
程序员
私信 提问
Yii入门指导(四):强大的“小物件”

1,修改默认的控制器 Yii的默认应用: 所有的配置都可以在main.php中进行配置,那么修改默认的控制器就是在main.php中增加如下代码: 'defaultController' => '', //修改默认控制器 Yii模块:...

Koma
2014/10/24
1K
1
Yii入门指导(二):Yii内功修炼

项目名称从“FantaCMS”修改成为“testyii”—————— 俗! 1,项目目录结构分析 2,Yii入口文件分析 在Yii启动项目时,传递了项目主配置文件数组,那么Yii会在整个应用中绑定一个全局的Y...

Koma
2014/10/21
1K
1
Yii之目录结构、入口文件及路由设置

本文从YII的目录结构开始分析,到入口文件分析,到路由设置详解,视图详解,十分全面的向我们展示了YII框架的方方面面,是篇非常不错的文章,这里推荐给大家。 项目名称从“FantaCMS”修改成...

梦梦阁
03/01
15
0
yii2项目实战-博客管理平台的搭建

作者:白狼 出处:http://www.manks.top/document/yii2-blog-manage.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律...

白狼栈
2016/08/13
160
0
Yii2 源码分析 - 入口文件执行流程

以 yii 2.0.14 高级版的 frontend 为例,从 frontend/web/index.php 开始 入口文件看着就这么几行,简单的很,那他是怎么通过这几行来运行应用的呢?先看 Yii.php 内的逻辑 接下来,就是重头...

botkenni
2018/05/03
30
0

没有更多内容

加载失败,请刷新页面

加载更多

小知识:讲述Linux命令别名与资源文件的区别

别名 别名是命令的快捷方式。为那些需要经常执行,但需要很长时间输入的长命令创建快捷方式很有用。语法是: alias ppp='ping www.baidu.com' 它们并不总是用来缩短长命令。重要的是,你将它...

老孟的Linux私房菜
48分钟前
3
0
《JAVA核心知识》学习笔记(6. Spring 原理)-5

它是一个全面的、企业应用开发一站式的解决方案,贯穿表现层、业务层、持久层。但是 Spring 仍然可以和其他的框架无缝整合。 6.1.1. Spring 特点 6.1.1.1. 轻量级 6.1.1.2. 控制反转 6.1.1....

Shingfi
50分钟前
5
0
Excel导入数据库数据+Excel导入网页数据【实时追踪】

1.Excel导入数据库数据:数据选项卡------>导入数据 2.Excel导入网页数据【实时追踪】:

东方墨天
58分钟前
5
1
正则表达式如何匹配一个单词存在一次或零次并且不占捕获组位置

正则表达式如何匹配一个单词存在一次或零次并且不占捕获组位置 今天要用正则表达式实现匹配一个词出现一次或者不出现的情况,但是又不仅仅是这么简单的需求。先详细说下我这种情况吧,也许有...

Airship
今天
6
0
第八讲:asp.net C# web 读取文件

本讲主要讲解如何在asp.net页面上传文件。 首先,前台页面: 其次,后台页面: 结果: 1、前台效果: 2、后台结果:

刘日辉
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部