通过增加一个扩展自 CWebUser 并从名为 User 的数据表中检索用户信息的组件,从Yii::app()->user 检索更多参数。
步骤如下:
1. 确保你已经有一个数据库 User 模型。
2. 创建一个扩展自 CWebUser 的组件。
3. 在 config.php 中指定应用使用的用户类。
1.User模型类可通过yii gii自动生成
2.创建WebUser类并把它放在/protected/components下
<?php
class WebUser extends CWebUser
{
public $_model;
function getusername()
{
//可以用Yii::app()->user->username直接访问.也可以用Yii::app()->user->getusername()访问。
//好像Yii::app()->user->username会先查找类中是否有username变量,如果没有就找getusername这个方法
$userinfo=$this->loaduser(Yii::app()->user->id);
return $userinfo->username;
}
function getpassword()
{
$userinfo=$this->loaduser(Yii::app()->user->id);
return $userinfo->password;
}
protected function loaduser($id=null)
{
if($this->_model===null)
{
if($id!=null)
$this->_model=User::model()->findByPk($id);
}
return $this->_model;
}
}
?>
3.记得在yii项目配置文件中更改user配置
<?php
'components'=>array(
'user'=>array(
'class'=>'WebUser',
)
)
?>