Laravel-アプリケーション構造

Laravelのアプリケーション構造は、基本的にプロジェクトに含まれるフォルダー、サブフォルダー、ファイルの構造です。Laravelでプロジェクトを作成すると、次の画像に示すように、アプリケーション構造の概要がわかります。

ここに示されているスナップショットは、Laravelのルートフォルダーを参照しています。 laravel-project。これには、さまざまなサブフォルダーとファイルが含まれています。フォルダとファイルの分析、およびそれらの機能的側面を以下に示します。

アプリ

これはアプリケーションフォルダであり、プロジェクトのソースコード全体が含まれています。イベント、例外、ミドルウェア宣言が含まれています。アプリフォルダは、以下に説明するように、さまざまなサブフォルダで構成されています-

コンソール

コンソールには、Laravelに必要な職人のコマンドが含まれています。名前の付いたディレクトリが含まれていますCommands、ここで、すべてのコマンドは適切な署名で宣言されています。ファイルKernal.php で宣言されたコマンドを呼び出します Inspire.php

Laravelで特定のコマンドを呼び出す必要がある場合は、このディレクトリに適切な変更を加える必要があります。

イベント

このフォルダには、プロジェクトのすべてのイベントが含まれています。

イベントは、アクティビティをトリガーし、エラーまたは必要な検証を発生させ、柔軟性を高めるために使用されます。Laravelはすべてのイベントを1つのディレクトリに保存します。含まれているデフォルトのファイルはevent.php ここで、すべての基本的なイベントが宣言されます。

例外

このフォルダには、例外を処理するために必要なすべてのメソッドが含まれています。ファイルも含まれていますhandle.php すべての例外を処理します。

Http

ザ・ Httpフォルダには、コントローラ、ミドルウェア、およびアプリケーション要求用のサブフォルダがあります。LaravelはMVCデザインパターンに従っているため、このフォルダーには、特定のディレクトリ用に定義されたモデル、コントローラー、およびビューが含まれています。

ザ・ Middleware サブフォルダには、フィルタメカニズムと応答と要求の間の通信を含むミドルウェアメカニズムが含まれます。

ザ・ Requests サブフォルダーには、アプリケーションのすべての要求が含まれます。

ジョブズ

ザ・ Jobsディレクトリは、Laravelアプリケーションのキューに入れられたアクティビティを維持します。基本クラスはすべてのジョブ間で共有され、1つの屋根の下に配置するための中央の場所を提供します。

リスナー

リスナーはイベントに依存し、イベントと例外を処理するために使用されるメソッドが含まれています。たとえば、login 宣言されたイベントには、 LoginListener イベント。

ポリシー

ポリシーは、承認ロジックを含むPHPクラスです。Laravelには、このサブフォルダー内のポリシークラス内にすべての承認ロジックを作成する機能が含まれています。

プロバイダー

このフォルダーには、コアサーバーのイベントを登録し、Laravelアプリケーションを構成するために必要なすべてのサービスプロバイダーが含まれています。

ブートストラップ

このフォルダには、すべてのアプリケーションブートストラップスクリプトが含まれています。サブフォルダが含まれています。cache、Webアプリケーションのキャッシュに関連付けられたすべてのファイルが含まれます。また、ファイルを見つけることができますapp.php、ブートストラップに必要なスクリプトを初期化します。

構成

ザ・ configフォルダには、Laravelアプリケーションがスムーズに機能するために必要なさまざまな構成と関連するパラメータが含まれています。configフォルダーに含まれるさまざまなファイルは、次の画像のとおりです。ファイル名は、関連する機能に従って機能します。

データベース

名前が示すように、このディレクトリにはデータベース機能のさまざまなパラメータが含まれています。以下に示す3つのサブディレクトリが含まれています-

  • Seeds −これには、ユニットテストデータベースに使用されるクラスが含まれます。

  • Migrations −このフォルダーは、Webアプリケーションで使用されるデータベースを移行するためのクエリに役立ちます。

  • Factories −このフォルダは、多数のデータレコードを生成するために使用されます。

公衆

これは、Laravelアプリケーションの初期化に役立つルートフォルダーです。以下のファイルとフォルダが含まれています-

  • .htaccess −このファイルはサーバー構成を提供します。

  • javascript and css −これらのファイルはアセットと見なされます。

  • index.php −このファイルは、Webアプリケーションの初期化に必要です。

リソース

Resourcesディレクトリには、Webアプリケーションを拡張するファイルが含まれています。このディレクトリに含まれるサブフォルダとその目的を以下に説明します-

  • assets −アセットフォルダには、Webアプリケーションのスタイル設定に必要なLESSやSCSSなどのファイルが含まれています。

  • lang −このフォルダーには、ローカリゼーションまたは内部化の構成が含まれています。

  • views −ビューは、エンドユーザーと対話し、MVCアーキテクチャで主要な役割を果たすHTMLファイルまたはテンプレートです。

アセットフォルダではなく、リソースディレクトリがフラット化されることに注意してください。同じものの絵の表現は以下に示されています-

ストレージ

これは、Laravelプロジェクトの実行中に頻繁に必要となるすべてのログと必要なファイルを格納するフォルダーです。このディレクトリに含まれるサブフォルダとその目的を以下に示します-

  • app −このフォルダには、連続して呼び出されるファイルが含まれています。

  • framework −頻繁に呼び出されるセッション、キャッシュ、およびビューが含まれています。

  • Logs −すべての例外とエラーログは、このサブフォルダーで追跡されます。

テスト

すべての単体テストケースがこのディレクトリに含まれています。テストケースクラスに名前を付けるための命名規則は次のとおりです。camel_case そして、クラスの機能に従って規則に従います。

ベンダー

LaravelはComposerの依存関係に完全に基づいています。たとえば、Laravelセットアップをインストールしたり、サードパーティのライブラリを含めたりします。VendorフォルダーにはすべてのComposerの依存関係が含まれます。

上記のファイルに加えて、Laravelには、GitHub構成、パッケージ、サードパーティライブラリなどのさまざまな機能で主要な役割を果たす他のファイルも含まれています。

アプリケーション構造に含まれるファイルを以下に示します-