ハマログ

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

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日


関連記事

Carbonを利用してPHPで日付操作する

PHPで日付系の操作をするときに標準関数のdateとかstrtotimeを使うん…

Laravel5.6のUUID Methodsについて

はじめに Laravel5.6で、UUIDを生成するメソッドが実装されました (…

Google AnalyticsのカスタムキャンペーンURLの利用

こんにちは、かねこです。 イーツー・インフォでは、システム運用・保守サポートの一…


← 前の投稿

次の投稿 →