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

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后台是不需要布局文件的。

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

时间: 2024-10-12 06:37:38

Yii入门指导(三):Yii“模块”窥探的相关文章

Yii入门指导(四):强大的“小物件”

1,修改默认的控制器 Yii的默认应用: 所有的配置都可以在main.php中进行配置,那么修改默认的控制器就是在main.php中增加如下代码: 'defaultController' => '', //修改默认控制器 Yii模块:admin模块为例 每个Yii的模块,都会在protected/modules目录下具有单独的文件夹,例如:admin,然后在对应的模块文件夹下存在对应的模块文件,如:AdminModule.php 那么对于模块的修改它的模块控制器则需要在AdminModule.p

Yii入门指导(五):实战之“会员注册”

事情纠结多了反而不好..... 1,会员数据库表结构如下: 2,建立会员模型,位于:protected/modules/admin/models 目录下  <?php /**  * 用户表的模型  * @author koma  *  */ class User extends CActiveRecord { //声明非数据库字段 public $password2; public static function model($className = __CLASS__) { return pa

yii源码三 -- db

CDbConnection:path:/framework/db/CDbConnection.phpoverview:CDbConnection represents a connection to a database. 工作原理:CDbConnection works together with CDbCommand, CDbDataReader and CDbTransaction to provide data access to various DBMS.且基于PDO扩展. 首先用$c

Yii框架分析(三)——类加载机制及应用组件的管理、配置、访问、创建

Yii应用的入口脚本引用出了Yii类,Yii类的定义: class Yii extends YiiBase { } 由yiic创建的应用里Yii类只是YiiBase类的“马甲”,我们也可以根据需求定制自己的Yii类. Yii(即YiiBase)是一个“helper class”,为整个应用提供静态和全局访问入口. Yii类的几个静态成员:$_aliases : 存放系统的别名对应的真实路径$_imports :$_classes :$_includePaths php include paths

新手入门指导:Vue 2.0 的建议学习顺序

起步 1. 扎实的 JavaScript / HTML / CSS 基本功.这是前置条件. 2. 通读官方教程 (guide) 的基础篇.不要用任何构建工具,就只用最简单的 <script>,把教程里的例子模仿一遍,理解用法.不推荐上来就直接用 vue-cli 构建项目,尤其是如果没有 Node/Webpack 基础. 3. 照着官网上的示例,自己想一些类似的例子,模仿着实现来练手,加深理解. 4. 阅读官方教程进阶篇的前半部分,到『自定义指令 (Custom Directive) 』为止.着

RequireJS入门(三)

这篇来写一个具有依赖的事件模块event.event提供三个方法bind.unbind.trigger来管理DOM元素事件. event依赖于cache模块,cache模块类似于jQuery的$.data方法.提供了set.get.remove等方法用来管理存放在DOM元素上的数据. 示例实现功能:为页面上所有的段落P元素添加一个点击事件,响应函数会弹出P元素的innerHTML. 创建的目录如下 为了获取元素,用到了上一篇写的selector.js.不在贴其代码. index.html 如下

React-Native入门指导之iOS篇 —— 一、准备工作

React-Native 入门指导系列教程目录 一.准备工作 (已完成) 二.项目介绍与调试 三.CSS样式与Flex布局 四.常用UI控件的使用 五.JSX在React-Native中的应用 六.事件与数据调用 七.自定义组件 八.动手写实例 九.发布与真机调试 写在前面 1. 什么是React-Native? React-Native是:Facebook 在2015年初React.js技术研讨大会上公布的一个开源项目.支持用开源的JavaScript库React.js来开发iOS和Andro

HTML5菜鸟入门指导:简介、平台搭建、示例演示

HTML5菜鸟入门指导:简介.平台搭建.示例演示 一.HTML5简介 1.  了解HTML (1).什么是HTML? HTML是用来描述网页的一种语言: HTML指超文本标记语言(Hyper Text Markup Language) HTML不是变成语言,是一种标记语言 (2).版本 HTML出现于1991年 HTML+出现于1993年 HTML2.0出现于1995年 HTML3.2出现于1997年 HTML4.01出现于1999年 XHTML1.0出现于2000年 HTML5出现于2012年

[安卓开发]App Widget开发入门指导

本节所要讲的主要内容包括Android桌面小部件.App Widget的开发入门指导,并通过一个简单实例的形式来直观的讲解App Widget. 一.Widget .App Widget .Web App 的概念 Widget最初的概念是98年一个叫Rose的苹果工程师提出,直到2003年的时候才正式为大家所知,不过随后无数大公司都开始接受并应用这一思路.现在我们看到在苹果系统里按下F4弹出的Dashboard里的小工具叫Widget,在Windows 7里侧边栏上的那些漂亮的小工具叫Gadge