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

齐天大圣
リリース: 2020-12-17 13:46:13
オリジナル
1129 人が閲覧しました

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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!