以前、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 を使っています。気づいたことや新しい発見など情報を発信していきます。問い合わせはこちら。