ホームページ  >  記事  >  PHPフレームワーク  >  LaravelでのセッションのCURD操作

LaravelでのセッションのCURD操作

齐天大圣
齐天大圣オリジナル
2020-12-16 22:05:301171ブラウズ

HTTP プロトコルはステートレスであるため、Cookie とセッション テクノロジーを使用して連携して状態を維持します。 Laravelでセッションを設定したり取得したりするのは非常に便利です。次に見てみましょう。

構成

セッションはサーバーに保存されます。デフォルトのセッションはサーバー上のファイルに保存されます。ただし、この方法はあまり効率的ではないため、現在では、セッションを Redis や memcached などのサードパーティ データベースに保存することが一般的です。これらの nosql の読み取りと書き込みは非常に効率的で、管理が簡単です。次に、laravel がセッションをどのように設定するかを見てみましょう。

Laravel のセッション設定ファイルは config/session.php にあります。この設定ファイルでは、セッションの保存方法や有効期限などを設定できます。

ストレージ方式を Redis に構成する必要がある場合は、ドライバー構成項目を変更して Redis に変更する必要があります。さらに、ローカル ストレージ (デフォルト)、リレーショナル データベース ストレージなどもサポートします。

セッション値の取得

まず、セッション値を取得する方法を見てみましょう。セッション値は、次のセッション メソッドに応答することで取得できます。インスタンス リクエスト。デモ コードは次のとおりです:

$request->session()->get('key');

get this メソッドの 2 番目のパラメータは、デフォルト値を設定するために使用されます。対応するセッション値が取得されない場合は、デフォルト値が返されます。コードは次のとおりです。

$request->session()->get('key', 'default');

2 つのパラメータはコールバック関数にすることもでき、コールバック関数を通じてデフォルト値が返されます。

$request->session()->get('key', function ()
{
      return 'default';
 });

上記のメソッドに加えて、次のメソッドも使用できます。グローバルセッション機能を通じて取得され、使用方法は一貫しています。

配列を返す all メソッドを使用して、すべてのセッション値を一度に取得することもできます。

$request->session()->all();

Laravel には、 has メソッドを使用して、セッションが存在するかどうかを簡単に判断するメソッドも用意されています。

if ($request->session()->has('key')) {}

exists メソッドもあります。has との違いは、has が存在し、true を返すには空であってはいけないという点です。一方、exists は存在する限り true を返します。

#セッション値の設定

セッションを設定するには 2 つの方法があります。以下はデモ コードです:

$request->session()->put('key', 'val');
session(['key1' => 'val1', 'key2' => 'val2']);

セッション値の削除

forget メソッドを使用して指定したセッションを削除できます。また、flush を使用してすべてのセッションを削除することもできます。以下はデモ コードです:

$request->session()->forget('k1');
$request->session()->forget(['k1', 'k2', 'k3']);
$request->session()->flush();

関連する推奨事項: "

laravel チュートリアル "

以上がLaravelでのセッションのCURD操作の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。