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

1,修改默认的控制器php

Yii的默认应用:程序员

全部的配置均可以在main.php中进行配置,那么修改默认的控制器就是在main.php中增长以下代码:
数据库

'defaultController' => '', //修改默认控制器框架

Yii模块:admin模块为例this

每一个Yii的模块,都会在protected/modules目录下具备单独的文件夹,例如:admin,而后在对应的模块文件夹下存在对应的模块文件,如:AdminModule.phpspa

那么对于模块的修改它的模块控制器则须要在AdminModule.php中进行以下定义:orm

$this->defaultController = 'index';//修改模块的默认控制器对象

2,模块的配置文件get

Yii的核心思想是尽量去重复利用现有代码it

对于模块中的配置文件,若是你没有指定,那么Yii会找到整个Yii系统共用的配置文件也就是main.php

可是大部分状况下模块中的配置项和整个应用的配置项多少会有一点区别,那么这个时候就须要在模块中去单独的配置这个区别项,因此Yii也想到了这个需求而且也容许你这么作

AdminModule.php中的代码结构以下图:

其中的“init”方法是在模块执行初始化的时候执行的,那么咱们对模块的配置项也是在这里进行的

想单独的设置模块的配置文件,则须要在“init”方法中作以下的设置:

这个时候,可能你们发现,咱们是经过Yii中的全局对象来改变Yii中的行为的,固然也可使用它来获取Yii中的相关配置项,不是吗!

3,Yii中的“小物件”

Yii中的View层,采用的模板是原生的PHP代码和HTML混排的方式,这种方式使得View层少去了“解析”的步骤,使得系统的速度有所增长,可是也增长View层代码的编写难度,不过这种难度是相对而言的,一般状况下全部的程序员都可以接受这种方式。

Yii在View层采用这种方式,使得Yii在View层的功能比其它的框架更增强大,其中突出的特色就是它的“小物件

使用Yii的“小物件”能够在视图层方便的建立直接和数据模型关联的表单,也能够方便的建立咱们经常使用的验证码而无需传值,也能够方便的实现数据分页,固然也能够方便的供咱们自定义小物件来实现其它的功能。

4,“小物件”之表单初探

想要使用Yii的表单,则首先须要自顶一个一个模型,那在Yii中关于模型有两类,一种是数据不须要保存,用完以后能够直接丢弃的叫:表单模型---CFormModel

另一种模型则是须要对收集到的数据进行数据库插入的,数据是不会被丢弃的叫:CActiveRecord

那这里咱们先是简单的认识表单,并不须要数据,则咱们直接创建表单模型便可,

在protected/modules/admin/models文件夹下新建:Article.php,其中代码以下:

而后在控制器中须要将咱们的数据模型传递到视图中以便视图可使用“小物件”来建立表单,控制器代码以下:

此时,咱们即可以在视图中来使用小物件建立表单了:

首先,咱们使用“小物件”必需要调用“beginWidget”方法,而后指定建立小物件的类,而后根据须要肯定是否须要调用“endWidget”方法,例如表单有开始标签还有结束标签则须要调用,可是对于建立验证码img标签则不须要调用

而后咱们调用“小物件”的实例“$form”来调用“CActiveForm”类中的方法来建立相应的表单,这里咱们以建立一个“文本输入框”为例,其它表单的建立方式同样,须要去查看“CActiveForm”类中相应的方法,直接使用便可。

那么使用“CActiveForm”类中的方法类建立表单时,调用的方法须要传递“三个参数”

第一个参数:“数据模型对象”,也就是咱们从控制器中传递过来的数据模型的实例

第二个参数:“表单name属性值”,这里的值必需要和数据库中的字段值一致,若是数据库中没有该值,则须要在数据模型中声明,方法以下图:在Article模型中

那么最终,生成的表单的样式以下:

网页源代码以下:



下一节继续:Yii会员注册功能实现(CActiveRecord类型模型建立、Yii数据库操做

相关文章
相关标签/搜索