laravelでは、ミドルウェアを介して認証情報を処理したり、ビジネスロジック処理を設計したりする場合があります
これらのデータはミドルウェアで処理された後、どこに保存されるべきですか?
たとえば、userObject のようなオブジェクト、または後続のロジック (サービス層、モデル層、ビュー層) が使用される可能性があります。取得してミドルウェアで処理されたデータを配置する必要があります (1 つのリクエスト内)
セッションアプリコンテナーの下に保存できることはわかっていますが、それが最善の解決策とは思えません。
返信内容:
laravelでは、ミドルウェアを介して認証情報を処理したり、ビジネスロジック処理を設計したりする場合がありますたとえば、userObject のようなオブジェクト、または後続のロジック (サービス層、モデル層、ビュー層) が使用される可能性があります。取得してミドルウェアで処理されたデータを配置する必要があります (1 つのリクエスト内)
フレームワークを使用しない場合、通常はストレージ用のスーパー変数を定義します。MVCではグローバル変数を使用することは推奨されていないようですが、Laravelでは通常どこに配置されますか?
セッションアプリコンテナーの下に保存できることはわかっていますが、それが最善の解決策とは思えません。
メモリに保存します。たとえば、現在のユーザーの場合、
または現在の認証済みユーザーに関連するその他のコードを呼び出すと、対応する UserModel がトリガーされて、ユーザー オブジェクトがこのリクエストで生成されていない場合は、データベースまたはキャッシュを選択して続行します。
他のすべての変数、プロバイダー、バインディング、依存関係注入、エイリアスなどはすべてこのロジックに基づいています。また、パフォーマンスを向上させるための非常に柔軟なロード方法を備えています。ルーティング、設定のキャッシュ、遅延などの読み込みなど。
このセットは、Laravel の中核となるコンテナーに基づいています。公式ドキュメントでは、これらの概念について最初から説明されています。ドキュメントについては、「コアコンセプト」を参照してください。
Laravel のカスタマイズ可能なブートストラップ起動プロセスでは、通常、最初のステップは大きなコンテナであるアプリケーションをロードすることです。現在のアプリのデータ読み込みステータスをどこでも確認できます。