-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Labels
Description
Когда создаете формы, не стоит наследоваться от ActiveRecord:
- т. к. там уже есть мэджик-свойства, которые вам необходимы,
- модель формы это модель формы,
- ActiveRecord это модель работы с БД.
- К ActiveRecord, который является моделью работы с БД могут быть навешаны всякие поведения, да и просто обработчики некоторых событий, которые при инициализации и прочих вызовах методов будут трегириться когда вы будете работать с формами.
Для формы надо использовать новый класс, который будет унаследован от yii\base\Model, содержать собственные свойства и правила.
Есть целый раздел на эту тему в офф-доке: создание форм в yii2
Плохо:
<?php
class LoginForm extends \yii\db\ActiveRecord
{
public $username;
public $password;
}Хорошо:
<?php
class LoginForm extends \yii\base\Model
{
public $username;
public $password;
public function rules()
{
return [
// тут определяются правила валидации
];
}
}