YII 是基于MVC:
M 业务逻辑层(model):
- 实现了ORM
- 封装了Etrity Layer
- 封装了Dal
- 验证
- Form Model 与DB Model 的绑定关系
- 业务逻辑
模型分类
YII 模型是 CModel或是其子类的实例 : 用于保持数据以及其相关的业务逻辑 YII实现两种类型的模型:表单模型和Active Record
表单模型: 是CFormModel的子类 是用于从用户表单获取的数据进行验证
class LoqinFormModel extends EFormMODEL{
public $ username;
public $password ;
}
Active Record : 活动记录是ORM的一种实现方式 主要用于对应关系数据库里的数据与关系 YII的AR类的实现必须继承于CActiveRecord 表对应类 ,对象对应行,列对应属性。
V 视图
获取视图变量:
控制器属性式: 视图中$ this指针只想控制器的属性 ,$this->proerty
渲染推送式: $this ->render ('edit',array ('var1'=>$value1));
布局
改变控制器的$layout 公有属性,$this->layout="application.blog.main"
渲染
渲染布局视图 渲染非布局视图
小物件
$ this-> widget('path.to.WidgetClass')
C 控制器
控制器是CController 实例 对View与Model进行调度
基于控制器的动作是用户具体的行为 是CController子类对象的一个方法这方法有ClnlineAction维护
基于类的动作: 通过Action动作置于这个地方 一般继承CAction 也可以组织模块话操作
基于视图的动作:是视图专属 有CViewAction 维护
动作参数绑定: $ _GET 是自动绑定的动作参数里面
$_post 是通过
f
unction actionCreate($ category ,$language='en'){
$category =(int)$category;
}