はじめに
Laravelでセッションを使っていると、「セッションの中身を消したいな」と思う場面があります。
そんなときに便利なのが、session()->forget() です。
この記事では、forget() の基本的な使い方と、実務でどう使われるかを自分の備忘録としてまとめておきます。
①基本構文
session()->forget('キー名');
または、複数キーをまとめて消す事も可能
session()->forget(['キー1', 'キー2']);
②よくある使用例
1.フォームの一時的な入力値をクリアしたいとき
session()->forget(['name', 'email']);
- ユーザーが入力した値をセッションに保存しておき、何かのタイミングでそれをリセットしたいときに使います。
2.フラッシュメッセージを手動で消したいとき
通常、フラッシュメッセージ(session()->flash())は次のリクエストで消えますが、
自前で session()->put() しているときは、明示的に forget() で消すこともあります。
// 例:成功メッセージを消す
session()->forget('success');
3.ログアウト処理の際に、セッション情報をクリア
Auth::logout();
session()->forget(['user_name', 'login_time']);
- session()->flush() を使えば全削除できますが、一部だけ消したいときは forget() が便利です。
③forget() と flush() の違い
④セッションデータの確認・取得
session()->get('key'); // セッションから値を取得
session()->has('key'); // 値が存在するか確認
session()->all(); // セッションの全データを見る(開発用)
⑤実務での使い所まとめ
⑥まとめ
-
session()->forget() はセッションの一部だけを削除したいときに便利
-
フォーム処理やメッセージ管理、ログアウト処理など幅広い場面で活躍
-
セッションまわりの挙動を理解しておくと、より安全で柔軟なアプリが作れます!

