我有:
class WebUser extends CWebUser {
private $_balance;
public function getBalance() { return $this->_balance; }
}
问题是,每次刷新页面时都需要更新这个 getBalance 值。但它目前只在用户第一次登录时这样做。如果用户被禁止并且他已经登录,我将遇到同样的问题。
我该如何解决这个问题?换句话说,每次用户重新加载页面时,如何强制刷新存储的用户状态?
这是设置实际用户的代码:
公共功能验证(){
$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);
}
}