Yii 学习笔记 (Model篇)

来源:互联网 发布:新买的域名怎么备案 编辑:程序博客网 时间:2024/04/28 04:53

Model:用来保存用户输入验证用户输入的地方。

 

根据我们对用户输入的使用方式,我们可以创建两种类型的Model。

1、如果,我们只是获取用户的输入,在使用后,就丢弃,那么我们创建一个 Form Model(即继承自CFormModel)。

2、如果,我们在获取到用户输入后,需要存到数据库中,那么我们创建一个 Active Record(即继承自CActiveRecord)

 

这两种类型的Model 共享一个基类 CModel,所以除了功能有不同外,没什么大的区别。

 

以下以CFormModel为例。

1、为了保存用户输入,我们需要创建 成员来存数据。当然,这些要能与表单结构相对应。

 

1、首先在 protected/models中创建 LoginForm.php

2、增加成员变量

class LoginForm extens CFormModel{    public $username;    public $password;    public $rememberMe = false;

2、为验证用户输入,需要定义一个rules()方法。

class LoginForm extends CFormModel{    public $username;    public $password;    public $rememberMe = false;    public function rules()    {             return array(                     array('username, password', 'required'),             array('rememberMe', 'boolean'),         );    }}


验证的格式是:array(‘AttributteList’, 'Validator', 'on'=>'ScenarioList', ...addtional options);

其中:AttribueList,是由多个 成员 以逗号隔开 组成的一个字符串。

  Validator ,有三种方式,

  第一种,在Model内定义,这种方式下,它一定要有如下格式的签名

  public  function authentic($attribute, $params)

 

  第二种,验证器(Validator)是一个验证器类名。

 

  第三种,验证器可以是一个验证器类的 预定义别名(predefined alias)。如上例中,required 是

  CRequiredValidor的别名,确保该 属性 不能为 空。

 

 

 

原创粉丝点击