Php 如何将CWebUser与模型用户绑定

Php 如何将CWebUser与模型用户绑定,php,authentication,yii,yii-components,Php,Authentication,Yii,Yii Components,如何将Yii:app()->user绑定到模型user。存在连接类型:Yii::app()->user->getUser() 例如,我想获取当前登录用户的电子邮件: Yii::app()->user->getUser()->email 我读了维基帖子:试试这个,把这个代码添加到你的用户身份验证函数中 $this->setState('email',$this->email); 并用于访问电子邮件,如图所示 Yii::app()->user->getState('emai

如何将Yii:app()->user绑定到模型user。存在连接类型:Yii::app()->user->getUser()

例如,我想获取当前登录用户的电子邮件:

Yii::app()->user->getUser()->email


我读了维基帖子:

试试这个,把这个代码添加到你的用户身份验证函数中

$this->setState('email',$this->email);
并用于访问电子邮件,如图所示

Yii::app()->user->getState('email');

尝试此操作将此代码添加到useridentity身份验证函数中

$this->setState('email',$this->email);
并用于访问电子邮件,如图所示

Yii::app()->user->getState('email');

组件中的MyWbuser.php:

class MyWebUser extends CWebUser{

    private $_profile = null;
    public $loginUrl='/';

    public function init(){
       parent::init();
       if(!$this->getIsGuest()){
            $this->_profile = User::model()->findByPk($this->getId());
       }
    }
    public function getProfile(){
       return $this->_profile;
   }
}
在config.php中:

    'user' => array(
        'class' => 'MyWebUser',
    )
然后您可以使用:

Yii::app()->user->profile->name

组件中的MyWbuser.php:

class MyWebUser extends CWebUser{

    private $_profile = null;
    public $loginUrl='/';

    public function init(){
       parent::init();
       if(!$this->getIsGuest()){
            $this->_profile = User::model()->findByPk($this->getId());
       }
    }
    public function getProfile(){
       return $this->_profile;
   }
}
在config.php中:

    'user' => array(
        'class' => 'MyWebUser',
    )
然后您可以使用:

Yii::app()->user->profile->name

这是个好主意。谢谢你,尼纳德)顺便说一句,昨天的任务我完成了=)@NinadGood干杯:)出了什么问题了??我用的是模型用户而不是注册用户)这是个好主意。谢谢你,Ninad)顺便说一句,昨天的任务我完成了=)@NinadGood干杯:)问题出在哪里?我是用模型用户而不是注册表执行)这是个好主意)因为我理解它而不是用户身份?是的,它扩展了CWebusers这是个好主意)因为我理解它而不是用户身份?是的,它扩展了CWebUser