Laravel – Cookie

Cookieの操作

Cookieの取得・初期化

変数 = \Cookie::get('Cookie名', 初期値);

  • Cookie名のCookieの値を変数に代入する
  • Cookie名のCookieが存在しない時は、初期値をセットしてその値を変数に代入する

Cookieの保存

\Cookie::queue('Cookie名', 変数, 保存期限);

  • Cookie名のCookieに変数の値を保存する
  • 保存期限は分単位で設定する

Cookieの削除

\Cookie::queue(\Cookie::forget('Cookie名'));

  • Cookie名のCookieを削除する

実装例

ビュー

以下の内容を含むビューを所定の位置に準備。

  • $countが1なら初訪問の旨を、そうでなければ訪問回数を表示
  • カウンターをクリアするためのボタンを表示

設定・変更アクション

コントローラーに以下のアクションを準備し、ルーティング設定する。

  • countという名前のCookieの値を取得して$countに代入
    • countという名前のCookieがなければ値0で作成して、その値を$countに代入
  • $countの値をインクリメント
  • $countの値を90日期限でCookieに保存
  • $countの値を渡してビューをレンダリング

削除アクション

フォームのカウンタークリアボタンが押されたときのアクションを準備し、ルーティングを設定する。

  • Cookieを削除する
  • 削除した旨を画面に直接表示する

実行結果

  • 最初にアクセスすると、「初めまして」と表示
  • リロードすると「2回目のアクセスです」と表示
  • その後リロードするたびに回数が1つずつ増加
  • カウンタークリアボタンを押すと、「cookieを削除しました」と表示
  • ブラウザーの戻るボタンを押すと元の画面に戻り、「初めまして」と表示

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です