ハマログ

株式会社イーツー・インフォの社員ブログ

Laravel5でCookieを操作する

Laravel5でCookieを操作してみます。

ウェブアプリケーションではリクエストとレスポンスの動作がセットになり、レスポンス返却時にブラウザがCookieの保存操作をおこないます。
ということで、基本的にはResponseクラスのオブジェクトとセットで設定します。

public function getVote(Request $request, $facilityId)
{
    $showHistories = // なにか。
    $response = new Response(view('vote.index'));
    $response->withCookie(cookie('showHistories', $showHistories, 60*24*30));
    return $response;
}

取得も簡単です。

$showHistories = Request::cookie('showHistories');

基本はこれでOKなのですが、ServiceやProvider内でCookieをセットしたいケースがあり、この場合Responseとセットにできない状況が発生します。
そういう場合、Cookieファサードを利用してキューに追加することで、次回Responseを返すタイミングでCookieを設定することができます。

class HistoryService
{
    public function sync()
    {
        // (略)
        Cookie::queue(cookie('showHistories', $showHistories, 60*24*30));
    }
}

以上

CookieLaravelLaravel5RequestResponseクッキー

  kaneko tomo   2016年5月5日


関連記事

hostsファイルの即時反映

検証用にhostsファイルを変更したときに、すぐに反映されないことがあります 即…

cornerstone がよさげでぽちる

Mac で TortoiseSVN のような svn GUI client はな…

さくらレンタルサーバでディレクトリ一覧表示を制限する

さくらのレンタルサーバ設定していたら、index系のファイルが存在しないディレク…


← 前の投稿

次の投稿 →