Laravel 10 基本 ディレクトリ構造 学習ノート #2

Laravel 10 基本 ディレクトリ構造

参考
appディレクトリ
アプリケーションのコアコードを配置。アプリケーションのほとんどのクラスは、このディレクトリの中に設定される。
bootstrapディレクトリ
フレームワークを初期起動処理するapp.phpファイルを設置。このディレクトリには、ルートやサービスのキャッシュファイルなど、パフォーマンスを最適化するためのフレームワークで生成されたファイルを含むcacheディレクトリも含んでいる。
通常、このディレクトリ内のファイルを変更する必要はありません。
configディレクトリ
アプリケーションの全設定ファイルを設置。全ファイルに目を通し、設定可能なオプションを確認。
databaseディレクトリ
データベースのマイグレーションとモデルファクトリ、初期値設定(シーディング)を配置。このディレクトリをSQLiteデータベースの設置場所にもなる。
publicディレクトリ
アプリケーションへの全リクエストの入り口となり、オートローディングを設定するindex.phpファイルがあります。また、このディレクトリにはアセット(画像、JavaScript、CSSなど)を配置。
resourcesディレクトリ
ビューや、CSS、JavaScriptなどのコンパイルしていない、素のアセットを格納。
routesディレクトリ
アプリケーションのすべてのルート定義を配置。デフォルトでルートファイルをいくつかLaravelは用意。web.php、api.php、console.php、channels.phpなど。
web.phpファイルは、
RouteServiceProviderがwebミドルウェアグループへ配置するルートを記述。これにより、セッション状態、CSRF保護、およびクッキー暗号化が提供される。アプリケーションがステートレスのRESTful APIを提供しない場合は、すべてのルートがweb.phpファイルでほぼ定義されるでしょう。
api.phpファイルは、
RouteServiceProviderがapiミドルウェアグループへ配置するルートを記述。これらのルートはステートレスであることが意図されているため、これらのルートを介してアプリケーションに入るリクエストは、トークンを介してで認証されることを意図しており、セッション状態にアクセスできません。
console.phpファイルは、
クロージャベースのコンソールコマンドをすべて定義する場所です。各クロージャはコマンドインスタンスと結合されるため、各コマンドのIOメソッドを操作する簡単なアプローチが可能。このファイルはHTTPルートを定義しませんが、アプリケーションへのコンソールベースのエントリポイント(ルート)を定義している。
channels.phpファイルは、
アプリケーションがサポートするすべてのイベントブロードキャストチャンネルを登録できる場所。
storageディレクトリ
ログ、コンパイル済みBladeテンプレート、ファイルベースのセッション、ファイルキャッシュ、およびフレームワークが作成したその他のファイルが含まれる。このディレクトリは、app、framework、logsディレクトリに分離される。appディレクトリは、アプリケーションが作成したファイルを保存するために使用できる。frameworkディレクトリは、フレームワークが作成したファイルとキャッシュを保存するために使用する。最後に、logsディレクトリにはアプリケーションのログファイルを保存。
storage/app/publicディレクトリは、
プロファイルアバターなど、一般にアクセス可能である必要のあるユーザー生成ファイルを保存するために使用。このディレクトリを指すシンボリックリンクをpublic/storageに作成する必要がある。php artisan storage:link Artisanコマンドを使用してリンクを作成。
testsディレクトリ
自動テストを設置。たとえば、PHPUnitユニットテストと機能テストは、はじめから提供される。各テストクラスには、Testという接尾辞を付ける必要がある。phpunitまたはphpvendor/bin/phpunitコマンドを使用してテストを実行できる。または、テスト結果をより詳細で美しい表現にしたい場合は、php artisan test Artisanコマンドを使用してテストを実行。
vendorディレクトリ
Composerによる依存パッケージが配置。
-
前の記事
Laravel 10 Windowsインストール VS CODE拡張機能 環境構築 学習ノート #1 2025.05.05
-
次の記事
記事がありません