0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Laravel 11? ― 初期フォルダを超ざっくりまとめた

Posted at

Laravelプロジェクトを触っていて、トレイトが必要だ。
テストはこっちのフォルダが良いよ。
シーダーを使うと良いよ!
など手引みたいなものがちょいちょいできてた。

全体像を知らずにその時その時で情報を拾ってきたわけだ。

全体がどういうファイル構成なのかこの際簡単にまとめた。


プロジェクト直下のざっくりツリー

app/          # アプリ本体(コントローラ・モデルなど)
bootstrap/    # 起動処理 & キャッシュ
config/       # 各種設定ファイル
database/     # マイグレーション / シーダー / ファクトリ
public/       # ドキュメントルート(index.php・公開アセット)
resources/    # ビュー(Blade) & 未ビルドの CSS/JS, 翻訳
routes/       # URL ルーティング定義
storage/      # ログ・キャッシュ・アップロード
tests/        # 自動テスト
vendor/       # Composer 依存ライブラリ

各フォルダの役割

app/

  • 主な中身
    • Http/ — Controller / Middleware
    • Models/ — Eloquent
    • Providers/ — Service Provider
  • メモ
    • ビジネスロジックは基本ここ
    • php artisan make:* でクラスを自動生成
    • 名前空間は App\(PSR-4 オートロード)

bootstrap/

  • 主な中身
    • app.php — 起動スクリプト
    • cache/ — 設定・ルートキャッシュ
  • メモ
    • フレームワーク初期化本部
    • php artisan config:cache 等でキャッシュ生成

config/

  • 主な中身
    • app.php, database.php など 20 ファイル以上
  • メモ
    • .env と連携して設定を一元管理
    • 「コードに直書きしない」が Laravel 流儀

database/

  • 主な中身
    • migrations/ — DDL(Data Definition Language)

      • テーブルや列、構造を定義・変更するSQL
    • seeders/ — 初期データ

    • factories/ — ダミーデータ生成

  • メモ
    • スキーマもデータもコードで履歴管理
    • php artisan migrate:fresh --seed で一括リセット可

public/

  • 主な中身
    • index.php — エントリポイント
  • メモ
    • Web サーバのドキュメントルート
    • 直接アクセスできるのは このフォルダ配下だけ

resources/

  • 主な中身
    • views/ — Blade テンプレート
    • css/, js/ — Vite ソース
    • lang/ — 翻訳ファイル
  • メモ
    • UI &フロント資産を担当
    • @vite('resources/css/app.css') などで読み込み

routes/

  • 主な中身
    • web.php — ブラウザ用ルート
    • console.php — Artisan コマンド用ルート
  • メモ
    • URL ↔ 処理を紐付け
    • API が欲しければ php artisan install:apiapi.php 追加

storage/

  • 主な中身
    • logs/laravel.log
    • framework/ — セッション・ビューキャッシュ等
    • app/public — 公開ファイル
  • メモ
    • 実行時生成ファイル置き場
    • php artisan storage:linkpublic/storage に公開

tests/

  • 主な中身
    • Feature/, Unit/
  • メモ
    • PHPUnit / Pest どちらも OK
    • php artisan test で実行

vendor/

  • 主な中身
    • Composer パッケージ群(Laravel 本体含む)
  • メモ
    • 直接編集は厳禁
    • 依存は composer update で自動更新

よく使うコマンド早見表

マイグレーション

php artisan migrate # 反映
php artisan migrate:rollback # 1つ戻す

コントローラ

php artisan make:controller ArticleController --resource

フロントアセット(Vite)

npm run dev # HMR 付き
npm run build # minify → public/build

storage 公開

php artisan storage:link

テスト

php artisan test # 全テスト
php artisan test --filter=User # 特定テストだけ

Laravel 作業チャート

やりたいこと 触る場所 代表ファイル / コマンド 補足
UI をいじりたい resources/views/ (Blade)
resources/css/, resources/js/ (Vite ソース)
- ビュー編集 → welcome.blade.php など
- スタイル/JS → npm run dev でビルド
画面の見た目・JS 挙動を変更
DB のテーブルを作成・変更したい database/migrations/ php artisan make:migration create_posts_table
php artisan migrate
DDL(構造)をコードで管理
初期データを投入したい database/seeders/
database/factories/
php artisan make:seeder PostsTableSeeder
php artisan db:seed
開発・テスト用のダミーデータ
アプリの挙動をテストしたい tests/Feature/, tests/Unit/ php artisan make:test UserTest
php artisan test
PHPUnit / Pest で自動テスト
設定を変更したい config/ + .env 例: config/app.phptimezone 書き換え .env に値を置き、config/* で参照
ルーティングを追加したい routes/web.php(Web)
routes/api.php(API)
Route::get('/foo', ...); URL と処理の紐付け
アップロードファイルを公開したい storage/app/publicpublic/storage php artisan storage:link 画像などをブラウザから参照可能に

覚え方
画面系resources/
データ構造database/migrations
ダミー投入seeders/factories
品質保証tests/

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?