在写购物车接口时,需要要上seesion来记录购物车当前购物车的ID,但是在做的时候发现不管怎么设置
\Yii::$app->user->enableSession = false;
都没有作用,而在Session的Service组件中是使用该设置来判断是否启用自定义的Session。
public function init()
{
if(\Yii::$app->user->enableSession == true){
$this->_session = new PhpSession; // phpsession
}else {
if ($this->storageEngine == 'mongodb') {
$this->_session = new MongoDbSession;
}else if ($this->storageEngine == 'mysqldb') {
$this->_session = new MysqlDbSession;
}else if ($this->storageEngine == 'redis') {
$this->_session = new RedisSession;
}
}
}
跟踪了一下代码,在执行AppserverTokenController之前就已经实例化了Session,所以不管怎么设置不启用PHP的session都不起作用。