前回の記事では Laravelの環境構築 を行い、実際にLaravelを起動しました。
今回は次のステップとして
Laravelプロジェクトの中身(ディレクトリ構造)
を理解していきます。
Laravelは多くのフォルダとファイルで構成されており、最初は複雑に見えますが、重要なポイントを押さえればすぐに理解できます。
この記事では次の内容を解説します。
- Laravelの全体構造
- よく使うディレクトリ
- 開発で触る場所
- 初心者が見るべきポイント
Laravelの全体構造
Laravelプロジェクトを作成すると、次のような構造になります。
app/
bootstrap/
config/
database/
public/
resources/
routes/
storage/
vendor/
.env
artisan
composer.json
最初はすべて理解する必要はありません。
まずは 重要なフォルダだけ覚えることが大切です。
まず覚えるべき3つ
Laravel初心者が最初に覚えるべきフォルダは次の3つです。
- app
- routes
- resources
この3つだけで基本的なWebアプリは作れます。
appディレクトリ
app/
ここは
アプリケーションのロジック
を記述する場所です。
主に次のファイルが入ります。
- Controller
- Model
- Service(任意)
Controller
Controllerは
処理を担当するクラス
です。
例
app/Http/Controllers/
ここにControllerを作成します。
Model
Modelは
データベース操作
を担当します。
例
app/Models/
routesディレクトリ
routes/
ここは
URLと処理の対応を定義する場所
です。
web.php
routes/web.php
Web画面用のルートです。
例
Route::get('/', function () {
return view('welcome');
});
api.php
routes/api.php
API用のルートです。
ReactやVueと連携する場合はここをよく使います。
resourcesディレクトリ
resources/
ここは
画面(View)やフロント側のコード
を置く場所です。
views
resources/views/
Bladeテンプレートを配置します。
例
<h1>Hello Laravel</h1>
js / css
resources/js/
resources/css/
フロントエンドのコードです。
Viteでビルドされます。
publicディレクトリ
public/
ここは
外部公開されるディレクトリ
です。
ブラウザからアクセスされるファイルはすべてここに配置されます。
例
index.php
databaseディレクトリ
database/
ここには
- migration
- seed
- factory
が入ります。
migrations
database/migrations/
テーブル構造を管理します。
例
Schema::create('users', function (Blueprint $table) {
$table->id();
$table->string('name');
});
configディレクトリ
config/
Laravelの設定ファイルが入ります。
例
- app.php
- database.php
storageディレクトリ
storage/
ログやキャッシュが保存されます。
vendorディレクトリ
vendor/
Composerでインストールされたライブラリが入ります。
基本的に触りません。
.envファイル
.env
環境設定ファイルです。
例
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=
artisan
artisan
Laravel専用コマンドです。
例
php artisan serve
php artisan migrate
Laravelの処理の流れ
Laravelの処理は次のように流れます。
URLアクセス
↓
routes/web.php
↓
Controller
↓
View(Blade)
これを理解すると全体像が見えます。
実務でよく触る場所
開発で主に触るのは次の場所です。
- routes/web.php
- app/Http/Controllers
- resources/views
- app/Models
まずはこの4つを中心に覚えましょう。
初心者が混乱するポイント
最初に混乱しやすいポイントです。
フォルダが多い
→ 全部覚える必要はない
MVCが分からない
→ 役割を分ける仕組み
vendorを触る
→ 触らない(重要)
まとめ
この記事では Laravelのディレクトリ構造 を解説しました。
重要なポイント
- まずは app / routes / resources を覚える
- Controllerが処理
- Viewが画面
- Modelがデータ
Laravelは構造を理解すると非常に使いやすいフレームワークです。
次の記事
次回は
Laravelのルーティング(routes/web.php)
を解説します。
ここでは
- Route::get
- Route::post
- Controllerとの連携
などを詳しく説明します。


コメント