如何在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