Skip to content

refactor(controller): セッション処理を簡略化#6556

Open
nanasess wants to merge 2 commits intoEC-CUBE:4.3-symfony7from
nanasess:refactor/simplify-session-handling
Open

refactor(controller): セッション処理を簡略化#6556
nanasess wants to merge 2 commits intoEC-CUBE:4.3-symfony7from
nanasess:refactor/simplify-session-handling

Conversation

@nanasess
Copy link
Contributor

@nanasess nanasess commented Jan 5, 2026

概要(Overview・Refs Issue)

AbstractControllerのセッション処理を簡略化し、Symfony 7との互換性を向上させます。

方針(Policy)

  • Symfony 7のAbstractController::addFlash()メソッドのシグネチャに合わせてmixed型を使用
  • FlashBagAwareSessionInterfaceがすでにgetFlashBag()メソッドを持っているため、冗長なPHPDoc型キャストを削除

実装に関する補足(Appendix)

変更点

  1. addFlash()の型宣言を更新

    • $messageパラメータにmixed型を追加(Symfony 7のシグネチャに合わせる)
  2. 不要な型キャストを削除
    以下のメソッドから冗長なPHPDocアノテーション(/** @var Session $session */)と中間変数を削除:

    • clearMessage()
    • hasMessage()
    • addFlash()
    • setLoginTargetPath()

理由

プロパティ$sessionFlashBagAwareSessionInterface型で宣言されており、このインターフェースはgetFlashBag(): FlashBagInterfaceメソッドを持っているため、PHPDocによる型キャストは不要です。

テスト(Test)

  • 既存のユニットテストで動作確認
  • フラッシュメッセージを使用する画面(ログイン、カート、注文など)の動作は変更なし

相談(Discussion)

特になし

マイナーバージョン互換性保持のための制限事項チェックリスト

  • 既存機能の仕様変更はありません
  • フックポイントの呼び出しタイミングの変更はありません
  • フックポイントのパラメータの削除・データ型の変更はありません
  • twigファイルに渡しているパラメータの削除・データ型の変更はありません
  • Serviceクラスの公開関数の、引数の削除・データ型の変更はありません
  • 入出力ファイル(CSVなど)のフォーマット変更はありません

🤖 Generated with Claude Code

- addFlash()の$messageパラメータにmixed型を追加(Symfony 7互換)
- 不要なPHPDoc型キャスト(/** @var Session $session */)を削除
  - clearMessage()
  - hasMessage()
  - addFlash()
  - setLoginTargetPath()

FlashBagAwareSessionInterfaceはgetFlashBag()メソッドを持っているため、
型キャストは不要です。

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@dotani1111 dotani1111 added the refactor リファクタリング label Jan 7, 2026
@dotani1111 dotani1111 added this to the 4.4.0 milestone Jan 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

refactor リファクタリング

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants