Laravelのセッションを使ってアクセスカンターの作成

以前、Laravelでのセッションの使い方についてエントリーしました。

しかし、座学だけでは身に付きません。

今回は実際にセッションを使ってアクセスカウンターを作ってみます。

 

完成形

完成形は以下になります。

 

アクセスカウンター演習

Laravelでセッションを使うやり方は主に3つあります。

今回はsessionヘルパを使ってアクセスカウンターを作成します。

 

手順

ルーティング


Route::get('session/index', 'PracticeSessionController@getIndex');  // 表示
Route::get('session/reset', 'PracticeSessionController@reset');  // リセットボタンが押されたときの処理

 

コントローラ

アクセスカウンターの画面

public function getIndex()
{
    // セッション値「count」の存在確認
    if(session()->has('count')){
        // あり
        $count = session('count');
    }else{
        // なし
        $count = 0;
    }

    // カウントを1つまわす
    $count++;
    // 値を保存
    session(['count' => "$count"]);

    return view("session.practice1",compact('count'));
}

 

セッション削除の処理

セッションを削除してアクセスカウンターの画面へリダイレクト


public function reset()
{
    // セッション削除
    session()->forget('count');
    return redirect('session/index');
}

 

ビュー

Bootstrap4スターターテンプレートをベースにしています。

以下、コンテンツだけ抜粋。


<!-- Page Content -->
<div class="container mt-5 text-center p-lg-5 bg-light">

アクセスカウンター <span class="h1 text-danger">{{$count}}</span>
<br>
<br>
    <a class="btn btn-primary btn-lg text-white" href="{{url('session/index')}}">リロード</a>
<br>
<br>
    <a class="btn btn-danger btn-lg text-white" href="{{url('session/reset')}}">セッション削除</a>
</div><!-- /container -->

 

以上です。

本庄マサノリ

仕事で Laravel を使っています。気づいたことや新しい発見など情報を発信していきます。問い合わせはこちら

>> Twitter をフォローする

 

-チュートリアル, 初級