如何在 yii1 中扩展 CHttpSession class
How to extend CHttpSession class in yii1
首先我想说我真的是编程新手yii1.I 必须在 yii1 中销毁或关闭会话时捕获事件,并在事件触发时重定向到索引。
我尝试扩展 CHttpSession class 并扩展方法 sessionDestroy(),但我错过了一些东西,因为我的解决方案不起作用。
我的 class 扩展了位于组件文件夹中的 CHttpSession:
class SessionDestroy extends CHttpSession {
public function destroySession($id) {
Yii::log('destroy', 'info');
$result = parent::destroySession($id);
return $result;
}
}
然后在我的控制器中我有:
$session = new CHttpSession;
$session->open();
...
$session->destroy();
我希望在日志中看到销毁信息消息,但什么也没发生。
扩展部分是对的。然后你需要配置 session
组件来使用你的新 class:
'components' => [
// ...
'session' => [
'class' => 'SessionDestroy',
],
]
见https://www.yiiframework.com/doc/guide/1.1/en/basics.application#application-components
首先我想说我真的是编程新手yii1.I 必须在 yii1 中销毁或关闭会话时捕获事件,并在事件触发时重定向到索引。
我尝试扩展 CHttpSession class 并扩展方法 sessionDestroy(),但我错过了一些东西,因为我的解决方案不起作用。
我的 class 扩展了位于组件文件夹中的 CHttpSession:
class SessionDestroy extends CHttpSession {
public function destroySession($id) {
Yii::log('destroy', 'info');
$result = parent::destroySession($id);
return $result;
}
}
然后在我的控制器中我有:
$session = new CHttpSession;
$session->open();
...
$session->destroy();
我希望在日志中看到销毁信息消息,但什么也没发生。
扩展部分是对的。然后你需要配置 session
组件来使用你的新 class:
'components' => [
// ...
'session' => [
'class' => 'SessionDestroy',
],
]
见https://www.yiiframework.com/doc/guide/1.1/en/basics.application#application-components