Yii2 中的 "model" 是什么?是不是阵列? 这是什么?
class EntryForm extends Model
{
public $name;
public $email;
public function rules()
{
return [
[['name', 'email'], 'required'],
['email', 'email'],
];
}
}
模型就是模型。它是业务逻辑实例的简单表示形式。在 Yii2 模型中,支持事件、行为和属性,它是主要的范式。是的,Yii2 中的模型实现了 Arrayable 接口,你可以像处理数组一样使用它。
假设你有一个老板,他希望你实现一个 Web 应用程序,该应用程序的表单包含一些字段:
- 用户电子邮件(必须输入此字段(,
- 用户名(必须为英文(,
- 用户消息(最多 140 个字符(。
让我们看看老板的必要字段:
- 表格必须包含 3 项,
- 用户电子邮件字段必须具有有效的模式,例如 firstpart@secondpart.domain,
- 用户电子邮件字段是必需的,如果未输入,我们必须拒绝提交操作,
- 用户名字段只能包含英文(A-Z 和 a-z(字母,
- 用户消息字段最多可包含 140 个字符。
或简称业务规则。现在,模型是一个实现业务规则的类。所以模型的类型是类,模型是类的实例。这都是关于模型概念的。
此外,我们还有另一个概念:活动记录。简单活动记录将数据库上的表行转换为对象。例如,您有一个名为 user
的表,其中包含 3 个字段:id
、username
和 password
,如果您使用活动记录并从表中选择一个记录user
则您有一个具有三个属性的对象:id
、username
和 password
,因此例如您可以将用户名与echo $objectName->username;
一起使用,$objectName
是我们活动记录实例的名称。
现在我们可以将活动记录概念与模型概念相结合:如果我们有一个模型类来表示数据库上表的记录,我们称之为活动记录模型。因此,我们可以实现一个包含业务规则和数据库操作的类。