【Laravel】セッションを使ってみる
~簡単な自己紹介~
- 嫁と猫3匹と暮らすフルリモートの三十路SE
- 投資・節約・副業で資産形成中
- 現在の金融資産は約1,750万円、めざせアッパーマス層(資産3,000万円)
目次
セッションの使用を宣言する
冒頭に下記のuse文を記載します。
use Session;
セッションにデータをセットする
Session::put("セッション変数名", セットする値);
セッションからデータを取得する
Session::get("セッション変数名");
セッションのデータを破棄する
Session::forget("xxxxx");
使用例
ソース
src\app\Http\Controllers\SessionController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Session;
class SessionController extends Controller
{
// セッションをプラス1する
public function increment()
{
// セッションを取得、未設定の場合はnull
$counter = Session::get("counter");
// すでにセットされている場合、1をプラス
if (!is_null($counter)) {
$counter++;
// nullの場合、1をセット
} else {
$counter = 1;
}
// 画面に表示
var_dump($counter);
// 更新後のセッションをセット
Session::put("counter", $counter);
}
// セッションを破棄する
public function forget()
{
// セッションを削除
Session::forget("counter");
// セッションは削除されているのでnullになる
$counter = Session::get("counter");
// 画面に表示(nullが表示される)
var_dump($counter);
}
}
src\routes\web.php
Route::get('session-increment', 'SessionController@increment');
Route::get('session-forget', 'SessionController@forget');
ブラウザで開いてみる
セッションインクリメントページに1回目のアクセス
今はセッションcounterがnullなので、1が設定されます。
セッションインクリメントページに2回目~4回目のアクセス
アクセスするたびにセッションcounterがプラス1されていきます。
セッション破棄ページにアクセス
セッションcounterを破棄するので、セッションcounterを取得してもnullが返ってきます。
セッションインクリメントページに1回目のアクセス
今はセッションcounterがnullなので、1が設定されます。
以上になります。
お疲れさまでした。