/
k6011565
/
UP09
Обзор
Документация
Войти
/
k6011565
/
UP09
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
basic/models/User.php
94 строки
2 KB
Карина Коковкина
все файлы
24 июн 2026, 15:42
24 июн 2026, 15:42
2a8b11b
Код
Авторство
О чём код?
<?php namespace app\models; use yii\db\ActiveRecord; use yii\web\IdentityInterface; class User extends ActiveRecord implements IdentityInterface { public $password; // Виртуальное поле для пароля public static function tableName() { return 'user'; } public function rules() { return [ [['username', 'email', 'password'], 'required'], ['username', 'string', 'min' => 3, 'max' => 50], ['email', 'email'], ['username', 'unique'], ['email', 'unique'], ['password', 'string', 'min' => 6], ]; } public static function findIdentity($id) { return static::findOne($id); } public static function findIdentityByAccessToken($token, $type = null) { return null; } public static function findByUsername($username) { return static::findOne(['username' => $username]); } public function getId() { return $this->id; } public function getAuthKey() { return $this->auth_key; } public function validateAuthKey($authKey) { return $this->auth_key === $authKey; } public function validatePassword($password) { return \Yii::$app->security->validatePassword($password, $this->password_hash); } public function setPassword($password) { if (empty($password)) { throw new \yii\base\InvalidArgumentException('Пароль не может быть пустым.'); } $this->password_hash = \Yii::$app->security->generatePasswordHash($password); } public function generateAuthKey() { $this->auth_key = \Yii::$app->security->generateRandomString(); } public function beforeSave($insert) { if (parent::beforeSave($insert)) { if ($this->isNewRecord) { $this->created_at = time(); } $this->updated_at = time(); return true; } return false; } public function afterFind() { parent::afterFind(); $this->password = null; } }