通常の MVC ビットと以下の関係を示す図を教えていただけますか。
- ミドルウェア
- 警備員
- ファサード
- 契約
Laravel には仲介者が多すぎるようで、全体像を把握するのに苦労しています。
編集
アレックスの答え(下記)を考えてみると、このような図はは可能です。これは一般的な OOP の原則に関係するものもあるので、UML シーケンス図が答えになると思います。
ベストアンサー1
あなたの質問は非常に広範囲にわたるので、1 つの画像ですべてを説明するのは、1 つのケーキにすべてのフレーバーが含まれているようなものだと思います。上記の回答で、Alex はすでに正確に説明しました。これが私の見解です。
MVCC の: デザイン パターンでは、開発者がビジネス ロジック (モデル) と表現 (ビュー)、およびユーザーのリクエスト ハンドラー (コントローラー) を混在させないように推奨しています。
覚えておくべきポイント:
MVC はモデル、ビュー、コントローラーの略です。モデルはアプリケーション データとビジネス ロジックの管理を担当します。ビューはアプリケーションのユーザー インターフェイスであり、データを表示します。コントローラーはユーザーの要求を処理し、モデル データを使用して適切なビューをレンダリングします。
詳細:http://www.tutorialsteacher.com/mvc/mvc-architecture
用語: ミドルウェア、ガード、ファサード、コントラクトは、さまざまなユースケースでのリクエスト サイクルのための Laravel フレームワークのアプリケーション ロジックの一部であり、アプリケーション内のコードを分離して、保守性、理解しやすさ、および結合性を向上させます。必要な作業を行うには 1 ページのスクリプトでも十分ですが、保守するのは面倒です。
ミドルウェア: アプリケーションに入る HTTP リクエストをフィルタリングするための Laravel の方法。リクエスト ライフサイクル内でルーターの後、コントローラーの前に配置されます。
より詳しい情報:ミドルウェア
警備員: 登録および認証中にシステムがユーザーに関する情報をどのように保存および取得するかを定義します。
より詳しい情報:https://laravel.com/docs/5.6/認証
ファサード:
ファサードは、アプリケーションのサービス コンテナーで使用可能なクラスへの「静的」インターフェイスを提供します。
ソース:ファサード
契約: 疎結合とシンプルさを実現します。
Laravel のコントラクトは、フレームワークによって提供されるコア サービスを定義する一連のインターフェイスです。たとえば、コントラクト
Illuminate\Contracts\Queue\Queue
はジョブのキューイングに必要なメソッドを定義し、Illuminate\Contracts\Mail\Mailer
コントラクトは電子メールの送信に必要なメソッドを定義します。
ソース::契約