somemo programming etc.

プログラマ、雑記、プログラミング関係はLinkから、数式はこっちでまとめていることが多い

【symfony】セッションの全消去

セッションの全消去する方法のメモです。

session_regenerate_id()

phpにはセッションを作り直すこの関数を使用しましたが、セッションが消えないことがありました。しかし、きちんとセッションIDは書き換わっています。

属性ホルダーのクリア

symfonyのセッションはAttributeHolderにあり、内部的には連想配列になっています。その配列を空っぽにするメソッドで解決しました。以下の記述でセッション全消去を実現しました。他のホルダーでも全消去したい場合は、実現できそうな気がします。

$this->getUser()->getAttributeHolder()->clear();