私は持っています:
class WebUser extends CWebUser {
private $_balance;
public function getBalance() { return $this->_balance; }
}
問題は、このgetBalance値は、ページが更新されるたびに更新される必要があるということです。ただし、現在、これはユーザーが初めてログインしたときにのみ実行されます。ユーザーが禁止され、ユーザーがすでにログインしている場合も、同じ問題が発生します。
これを回避するにはどうすればよいですか?つまり、ユーザーがページをリロードするたびに、保存されているユーザーの状態を強制的に更新するにはどうすればよいですか?
実際のユーザーを設定するコードは次のとおりです。
パブリック関数authenticate(){
$api = new api();
$user = $api->getAccountDetailsByCellNr($this->username);
if (empty($user)) {
$this->errorCode = self::ERROR_USERNAME_INVALID;
}
else {
if(!isset($this->username))
$this->errorCode = self::ERROR_USERNAME_INVALID;
else if($user->password !== md5($this->password) )
$this->errorCode = self::ERROR_PASSWORD_INVALID;
else {
$this->errorCode = self::ERROR_NONE;
$this->setState('balance', $user->balance);
}
}