0

首先我想说我是 yii1 编程的新手。我必须在 yii1 中销毁或关闭会话时捕获事件,并在触发事件时重定向到索引。

我试图扩展 CHttpSession 类并扩展方法 sessionDestroy(),但我错过了一些东西,因为我的解决方案不起作用。

我的类扩展了位于 components 文件夹中的 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();

我希望在日志中看到销毁信息消息,但没有任何反应。

4

1 回答 1

1

扩展部分是对的。然后你需要配置session组件来使用你的新类:

'components' => [
    // ...
    'session' => [
        'class' => 'SessionDestroy',
    ],
]

https://www.yiiframework.com/doc/guide/1.1/en/basics.application#application-components

于 2019-03-31T16:01:07.300 回答