/**
  *
  * @return User|null
  */
 public function getUser()
 {
     if ($this->_user === false) {
         $this->_user = User::findByLogin($this->username);
     }
     return $this->_user;
 }
 /**
  * Sends password recovery instructions via e-mail.
  * @return bool
  */
 public function send()
 {
     if (!$this->validate()) {
         return false;
     }
     /** @var User $user */
     $user = User::findByLogin($this->email);
     $user->recoveryKey = Yii::$app->getSecurity()->generateRandomString(32);
     $user->save(false);
     \Yii::$app->mailer->compose('@app/auth/mail/recovery', ['user' => $user, 'url' => Url::to(['/auth/recovery/code', 'code' => $user->recoveryKey], true)])->setTo($user->email)->send();
     return true;
 }