我正试图通过继承的Yii框架网站。以前很少有面向对象的知识。
我正在打印一些用户信息以查看这样的内容......
print_r(Yii::app()->user);
这就是打印出来......
CWebUser Object (
[allowAutoLogin] => 1
[guestName] => Guest
[loginUrl] => Array
(
[0] => /site/login
)
[identityCookie] =>
[authTimeout] => 7200
[autoRenewCookie] =>
[autoUpdateFlash] => 1
[loginRequiredAjaxResponse] =>
[_keyPrefix:CWebUser:private] => 7c6285462394c9a141b5d66dce54e8f2
[_access:CWebUser:private] => Array
(
[Admin] =>
[Judge] =>
[Student] => 1
)
[behaviors] => Array
(
)
[_initialized:CApplicationComponent:private] => 1
[_e:CComponent:private] =>
[_m:CComponent:private] =>
)
我正在尝试获取该用户是学生的信息。我看到了!它就在那里!
[Student] => 1
但我怎样才能获得这些信息?
更新
这里是CWebUser的部分,似乎与_access
有关private $_access=array();
public function checkAccess($operation,$params=array(),$allowCaching=true)
{
if($allowCaching && $params===array() && isset($this->_access[$operation]))
return $this->_access[$operation];
$access=Yii::app()->getAuthManager()->checkAccess($operation,$this->getId(),$params);
if($allowCaching && $params===array())
$this->_access[$operation]=$access;
return $access;
}
答案 0 :(得分:3)
以下内容应告诉您用户是否具有“学生”访问权限:
$isStudent = Yii::app()->user->checkAccess('Student') == 1;
答案 1 :(得分:1)
'student'是$ _access数组的一部分。但$ _access是私有的,因此您无法直接访问它。
但必须有一个方法(功能)来获得它!
看看CWebUser
类,应该有一个像
getStudent();
isStudent();
或可能是
$access = getAccess();
$access['student'];
编辑:
checkAccess
好像是用checkAccess('student');