如何在yii中设置会话变量的默认值?

如何在yii中设置会话变量的默认值?,yii,Yii,我需要在会话中保留有关用户的一些详细信息 public function authenticate() { $user=User::model()->findByAttributes(array('username'=>$this->username)); if($user===null) $this->errorCode=self::ERROR_USERNAME_INVALID; else if(!$user->valida

我需要在会话中保留有关用户的一些详细信息

public function authenticate()
{
    $user=User::model()->findByAttributes(array('username'=>$this->username));
    if($user===null)
        $this->errorCode=self::ERROR_USERNAME_INVALID;
    else if(!$user->validatePassword($this->password))
        $this->errorCode=self::ERROR_PASSWORD_INVALID;
    else
    {
        $this->_id=$user->id;           
        $this->setState('username', $user->username);           
        $this->errorCode=self::ERROR_NONE;
    }
    return !$this->errorCode;
}  
在这个示例中,我保存用户名-
$this->setState('username',$user->username)
在主页面中,我调用的是第一次
$username=Yii::app()->user->username我得到的属性“CWebUser.username”未定义。是否有方法将deafult值设置为username和其他session变量。我需要知道这样做的正确方法。只添加
$this->setState('username','')是否正确

尝试:


是的,你可以用这个

$this->setState('username', ""); $this->setState('username',“”); 但是您没有理由这样做,因为只有在创建了具有所提供用户名的用户时,才会执行else子句。 如果要验证用户是否为来宾,请使用:

Yii::app()->user->isGuest Yii::app()->user->isGuest Yii::app()->user->isGuest