Yii2中的“模型”是什么?它是数组还是没有?

时间:2015-12-30 04:29:54

标签: model yii2

Yii2中的“模特”是什么?它是数组还是没有?它是什么?

 class EntryForm extends Model
{
    public $name;
    public $email;

    public function rules()
    {
        return [
            [['name', 'email'], 'required'],
            ['email', 'email'],
        ];
    }
}

2 个答案:

答案 0 :(得分:4)

模型是模型。它是业务逻辑实例的简单表示。在Yii2模型中支持事件,行为和属性,它是主要范例。是的,Yii2中的模型实现了Arrayable接口,您可以像使用数组一样使用它。

答案 1 :(得分:0)

假设您有一个老板,并且他希望您实现一个Web应用程序,该应用程序的表单包含一些字段:

  1. 用户电子邮件(必须输入此字段),
  2. 用户名(必须为英文),
  3. 用户留言(最多140个字符)。
  4. 让我们看看老板必要的领域:

    • 表单必须包含3个项目
    • 用户电子邮件字段必须具有有效模式,例如firstpart@secondpart.domain,
    • 用户电子邮件字段是必要的,如果没有输入,我们必须拒绝提交操作,
    • 用户名字段必须仅包含英文(A-Z和a-z)字母
    • 用户消息字段最多可包含140个字符。

    此规则称为业务规则或简称商业规则。现在 model是一个实现业务规则的类。因此,模型的类型是类,模型是类的实例。这完全是关于模型概念。

    此外,我们还有另一个概念: Active Record 。 Simply Active Record将数据库中的一行表转换为一个对象。例如,如果您使用活动记录并从{{1}中选择记录,那么您有一个名为user的表格,其中有3个字段:idusernamepassword使用该表,您有一个具有三个属性的对象:useridusername,例如,您可以使用password echo $objectName->username;的用户名是我们的活动记录实例的名称。

    现在我们可以将活动记录概念与模型概念结合起来:如果我们有一个表示数据库表记录的模型类,我们将其称为活动记录模型。因此,我们可以实现一个包含业务规则和数据库操作的类。