2

ユーザーのログアウト時にいくつかのカスタム機能を実行したかったので、顧客のログアウトイベントにフックし、それにオブザーバーを追加しました。

config.xmlの構成は次のとおりです

<customer_logout>
  <observers>
    <cwmyaccount>
      <type>singleton</type>
      <class>KrtMalta_Myaccount_Model_Observer</class>
      <method>setRegularCustomer</method>
    </cwmyaccount>
  </observers>
</customer_logout>

ただし、セッションタイムアウトでもカスタム機能を実行したいのですが。私はグーグルとマゼントのファイルを調べましたが、ほとんど成功しませんでした。どういうわけかセッションタイムアウトにフックすることは可能ですか?

4

1 に答える 1

2

セッションは、セッションが開始されると PHP によって自動的にクリーンアップされます。現在、独自のカスタム セッション ハンドラを作成しない限り、このプロセスにフックする方法はありません。

独自のハンドラーを作成すると、PHP がメソッドを呼び出して、gc破棄される古いセッション データを制御できるようになります。これはリクエストの開始時 (session_start() が呼び出されたとき) に発生することに注意してください。そのため、処理中のリクエストを遅らせないように、処理を非常に迅速に実行する必要があります。

于 2012-06-26T22:09:42.873 に答える