Laravel は、最新の Web アプリケーションの開発を簡素化するように設計されたエレガントな PHP フレームワークです。新しい Laravel プロジェクトを作成すると、ベストプラクティスと懸念事項の明確な分離を促進する、よく整理されたディレクトリ構造が付属します。メインディレクトリとその目的について詳しく見ていきましょう。
新しい Laravel インストールには、次の主要なディレクトリが含まれています:
project-root/ |-- app/ |-- bootstrap/ |-- config/ |-- database/ |-- public/ |-- resources/ |-- routes/ |-- storage/ |-- tests/ |-- vendor/
これはアプリケーションの中心部であり、ロジックの大部分が存在します。 app/ ディレクトリには、さまざまなアプリケーション コンポーネントのサブフォルダーが含まれています:
コンソール/: カスタム Artisan コマンドが含まれています。
Events/: アプリケーションがリッスンできるイベントを定義します。
Exceptions/: 例外とカスタム エラー レポートを処理します。
http/:
Controllers/: アプリケーションのコントローラーを格納します。
Middleware/: HTTP リクエストをフィルタリングするためのミドルウェアを格納します。
Models/: Eloquent モデルのデフォルトの場所。
Observers/: モデル イベントを処理するためのオブザーバー クラスを保持します。
ポリシー/: 特定のモデルの認可ロジックが含まれます。
Providers/: アプリケーションのさまざまな部分をブートストラップするサービス プロバイダーを格納します。
このディレクトリには、アプリケーションの初期ブートストラップ ファイルが含まれています。ここで最も注目すべきファイルは、Laravel フレームワークを初期化する app.php です。
さらに、パフォーマンスを向上させるためにフレームワークで生成されたキャッシュ ファイルを保存するためのキャッシュ/フォルダーが含まれています。
名前が示すように、このディレクトリにはアプリケーションのすべての構成ファイルが含まれています。これらのファイルを使用すると、サービス、データベース接続、メール、キャッシュなどの設定を管理できます。例:
コア アプリケーション設定の app.php。
データベース構成のdatabase.php。
メール サービス設定の mail.php。
このディレクトリは、すべてのデータベース関連ファイルを管理します:
factories/: テスト データをシードするためのファクトリ クラスが含まれます。
migrations/: データベース スキーマを定義するための移行ファイルを保存します。
seeders/: データベースにサンプル データを入力するためのシーダーを格納します。
このディレクトリは Web リクエストのエントリ ポイントであり、アプリケーションの前面ファイルが含まれています。主な内容は次のとおりです:
index.php: すべての受信リクエストを処理するプライマリ ファイル。
画像、CSS、JavaScript ファイルなどの静的アセット。
このディレクトリには、コンパイルされるかビューの生成に使用されるアプリケーション リソースが保存されます。サブディレクトリには次のものが含まれます:
views/: アプリケーションのフロントエンド用の Blade テンプレート ファイルが含まれます。
lang/: ローカライズ用の言語ファイルを保持します。
css/ および js/ (sass/ および js/ 内): CSS および JavaScript アセットのデフォルトフォルダー。
これは、アプリケーションのルーティング ロジックが存在する場所です。 Laravel は、ルートの種類ごとに個別のファイルを提供します。
web.php: Web リクエストのルートを処理します (通常はセッションと Cookie を使用します)。
api.php: API リクエストのルートを処理します (ステートレス)。
console.php: カスタム Artisan コマンドを定義します。
channels.php: イベントブロードキャストチャンネルを定義します。
このディレクトリには、アプリケーションとフレームワーク自体によって生成されたファイルが含まれています:
app/: アプリケーションで生成されたファイルを保存します。
framework/: フレームワークのキャッシュ、セッション、およびコンパイルされたビューを保存します。
logs/: デバッグとエラー追跡のためのログ ファイルが含まれます。
すべてのアプリケーション テストはここに保存されます。デフォルトでは、機能テストと単体テスト用のディレクトリが含まれています:
機能/: アプリケーション スタック全体の機能を評価するテスト。
Unit/: 特定の関数またはクラスを検証するテスト。
このディレクトリには、Composer 経由でインストールされたすべてのサードパーティ パッケージが含まれています。このフォルダーを直接変更しないでください。
Laravel で開発する場合、各ディレクトリの目的を理解すると、コードを論理的に整理するのに役立ちます。例:
アプリ/モデル内のモデルにビジネス ロジックを配置します。
routes/web.php または Routes/api.php にカスタムルートを書き込みます。
レイアウトなどの再利用可能なコンポーネントをリソース/ビューに保持します。
Laravel の規則に従います。Laravel には理由があって事前に定義された構造があります。絶対に必要な場合を除いて、それに固執してください。
スケーラビリティのためにサブフォルダーを使用する: 大規模なプロジェクトの場合は、コントローラーまたはモデル内にサブフォルダーを作成して関連ファイルをグループ化することを検討してください。
artisan コマンドを活用する: phpArtisan make:model、phpArtisan make:controller などのコマンドを使用して、ファイルを正しい場所に自動的に配置します。
Laravel のディレクトリ構造をマスターすると、自信を持ってプロジェクトを効果的に移動、維持、拡張できるようになります。 4 日目では、開発ニーズに合わせて Laravel を構成する方法について詳しく説明します。
以上がLaravel のディレクトリ構造を探索する日の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。