2

name我的配置主文件中有参数:

// CWebApplication properties can be configured here.
return array(
    'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..',
    'name'=>'Test Site',

但是当我尝试更改它时,用户已退出登录,为什么?

//Yii::app()->name = 'Site';
var_dump(Yii::app()->user->isGuest); // bool(false)
...
Yii::app()->name = 'Site';
var_dump(Yii::app()->user->isGuest); // bool(true)
4

1 回答 1

1

正如我在 YII 代码中研究并得出结论,YII 使用站点名称创建一个唯一 ID,并且此 ID 附加在他的会话变量中。

查看代码如何为会话创建 id

$this->_id=sprintf('%x',crc32($this->getBasePath().$this->name));

您可以跟踪 cWebUser 类。你会得到这个东西。

这就是在您的代码中发生的方式。

于 2013-09-25T07:00:33.170 回答