您的位置:首页 > 编程语言 > PHP开发

Class yii\base\DynamicModel

2017-03-06 00:00 477 查看
所有类 | 方法

继承yii\base\DynamicModel » yii\base\Model » yii\base\Component » yii\base\Object
可用自版本2.0
动态模型是一个模型类主要用于支持临时数据验证。

动态模型的典型用法是这样的,

public function actionSearch($name, $email)
{
$model = DynamicModel::validateData(compact('name', 'email'), [
[['name', 'email'], 'string', 'max' => 128],
['email', 'email'],
]);
if ($model->hasErrors()) {
// validation fails
} else {
// validation succeeds
}
}

上面的例子展示了如何验证
$name
$email
的帮助下美元动态模型。validateData()方法创建一个动态模型的实例,使用给定的数据定义了属性(名称和电子邮件在这个例子中),然后调用yii\base\Model::validate().

你可以检查验证结果\yii\base\hasErrors(),像你一样做一个正常的模式。你也可以通过模型实例访问定义的动态属性,例如,
$model->name
and
$model->email
.。

或者,您可以使用下面的更“经典”的语法来执行特定数据验证:

$model = new DynamicModel(compact('name', 'email'));
$model->addRule(['name', 'email'], 'string', ['max' => 128])
->addRule('email', 'email')
->validate();

动态模型实现上述特殊数据验证功能通过支持所谓的“动态属性”。它基本上允许动态定义一个属性通过其构造函数或 defineAttribute().

公共方法

隐藏继承方法

方法描述定义在
__construct()Constructors.yii\base\DynamicModel
__get()yii\base\DynamicModel
__isset()yii\base\DynamicModel
__set()yii\base\DynamicModel
__unset()yii\base\DynamicModel
addRule()这个模型添加一个验证规则yii\base\DynamicModel
attributes()yii\base\DynamicModel
defineAttribute()定义了一个属性。yii\base\DynamicModel
undefineAttribute()未定义的属性。yii\base\DynamicModel
validateData()验证给定的数据与指定的验证规则。yii\base\DynamicModel

方法详情

__construct() public 方法

Constructors.

public void __construct ( array $attributes = [], $config = [] )
$attributesarray动态属性(名称-值对,或名字)被定义
$configarray配置应用到这个对象数组。
__get() public 方法

public void __get ( $name )
$name
__isset() public 方法

public void __isset ( $name )
$name
__set() public 方法

public void __set ( $name, $value )
$name
$value
__unset() public 方法

public void __unset ( $name )
$name
addRule() public 方法

这个模型添加一个验证规则。

你也可以直接操作 \yii\base\validators来添加或删除验证规则。这种方法提供了一个捷径。

public $this addRule ( $attributes, $validator, $options = [] )
$attributesstring|arrayThe attribute(s)的验证规则
$validatormixed规则的验证器。这可能是一个内置验证器名称、方法模型类的名称,一个匿名函数,或者一个确认器类的名字。
$optionsarray选项(名称-值对)适用于验证器
return$this模型本身
attributes() public 方法

public void attributes ( )
defineAttribute() public 方法

定义了一个属性。

public void defineAttribute ( $name, $value = null )
$namestring属性名称
$valuemixed属性值
undefineAttribute() public 方法

未定义的属性。

public void undefineAttribute ( $name )
$namestring属性名称
validateData() public static 方法

验证给定的数据与指定的验证规则。

该方法将创建一个动态模型实例,验证数据填充它,创建指定的验证规则,然后用这些规则验证数据。

public static static validateData ( array $data, $rules = [] )
$dataarray验证数据(名称-值对)
$rulesarrayThe validation rules. Please refer to yii\base\Model::rules() on the format of this parameter.
验证规则。请参阅yii\base\Model::rules() 这个参数的格式。
returnstatic包含数据模型实例验证
throwsyii\base\InvalidConfigException如果没有指定一个验证规则正确。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: