オタブロ > IT知識 > 【Laravel】ヘルパ関数sessionの基本的な使い方

【Laravel】ヘルパ関数sessionの基本的な使い方

IT知識
スポンサーリンク

セッションに値を保存

下記は配列の「test」というkeyに「test」という文字列を保存しています。

session(['test'=>'test']);

session()->get()で値を確認します。

※responseを使って値を確認していますが値が確認できればddとかlog関数でも大丈夫です

return response(session()->get('test'));

結果

test

session()->all()だとこんな感じでどこにどんな値が格納されているかわかります。

{
    "test": "test"
}

セッションに配列を保存

session()->push()を使うことで配列をセッションに保存することができます。

第一引数にkey、第二引数に値を指定します。

$data = [
    'test1' => 1,
    'test2' => 2,
    'test3' => 3,

    ];
session()->push('Array',$data);

結果

{
    "Array": [
        {
            "test1": 1,
            "test2": 2,
            "test3": 3
        }
    ]
}

セッションの値を取得

session(key名)と指定することで指定したkeyの値を取得することができます。

先ほどのArrayというkey名を指定してみます。

session('Array')

結果

[
    {
        "test1": 1,
        "test2": 2,
        "test3": 3
    }
]

値の存在判定①

session()->has()で指定したkeyの値が存在していればtrueを返します。

null、そもそもkeyがない場合にはfalseとなります。

0や空文字はtrueになるので注意が必要です。

session()->has(key名)

値の存在判定②

nullでもkeyが存在していることを確認したい場合はsession()->exists()を使用します

session()->exists(key名)

値の存在判定③

key自体が存在しないことを確認したい場合は session()->missing() を使用します。

keyが存在していなければtrueを返し存在していればfalseを返します。

session()->missing(key名)

セッションの値を削除

セッションの値を削除したい場合はsession()->forget()を使用します。

session()->forget(key名)

以下のようにすることで複数の値の削除も可能となります。

session()->forget([key名1, key名2]);
タイトルとURLをコピーしました