Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。
データは、デフォルトで次の要求のためにのみ持続します。
$ request-> session() - > flash( 'status'、 'タスクが正常に完了!');
Laravelはいくつかの特殊なフラッシュ関数を提供しています:
//すべてのフラッシュデータを次のリクエストに拡張します $ request-> session() - > refrash(); //特定のフラッシュデータ項目を拡張します $ request-> session() - > keep(['username'、 'email']); //現在の要求内でのみフラッシュデータがアクセスできます $ request-> session() - > now( 'status'、 '操作完了');
通知システムの実用的な例は次のとおりです。
Class NotificationControllerはコントローラーを拡張します { パブリック関数プロセスフォーム(リクエスト$ request) { 試す { db :: transaction(function()use($ request){ //フォームの送信を処理します $ result = $ this-> processData($ request-> all()); //次のリクエストのためのフラッシュ成功メッセージ $ request-> session() - > flash( 'message'、 'フォームが正常に送信'); $ request-> session() - > flash( '詳細'、[ 'id' => $ result-> id、 「タイムスタンプ」=> now() - > todateTimestring() ]); //ユーザーの好みに基づいて条件付きで詳細を保持します if($ request-> has( 'show_details')){ $ request-> session() - > keep(['詳細']); } }); REDIRECT() - > ROUTE( 'Dashboard')を返します。 } catch(例外$ e){ logger() - > error( 'form submission failed'、['error' => $ e-> getMessage()]); //現在のリクエストですぐにエラーを表示します $ request-> session() - > now( 'error'、 '送信失敗'); return back() - > insput(); } } }
フラッシュセッションデータを活用すると、永続的なストレージのオーバーヘッドなしでリクエスト固有のメッセージングを管理する効率的な方法が提供され、より応答性が高くユーザーフレンドリーなアプリケーションが得られます。
以上がLaravelでフラッシュセッションデータを使用しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。