はじめに
Docker 環境で Laravel を動かしながら、PHP をキャッチアップするための学習を進めています。個人の備忘録程度の走り書きとなっておりますが、温かい目で見守っていただければ幸いです。
書こうと思ったきっかけ
個人的に PHP のキャッチアップをしたくて、勉強している初学者による備忘録となります。
内容
Laravel + Docker プロジェクトのディレクトリ構成は以下のようになっています:
プロジェクトルート(php-docker/)
これは Laravel プロジェクトを Docker で開発・実行するための構成です。
php-docker/
├── docker-compose.yml # Docker構成ファイル(複数サービス定義)
├── Dockerfile # PHP + Apache のイメージ定義(Laravel実行環境)
├── Makefile # よく使うDocker/Laravelコマンドの自動化
└── src/ # Laravelアプリ本体のソースコード
src/ ディレクトリの中身(= Laravel アプリ本体)
src/
├── app/ # アプリケーションのコアロジック(MVC)
│ ├── Http/Controllers/ # コントローラー(例: HelloController.php)
│ ├── Models/ # Eloquent モデル
│ └── Providers/ # サービスプロバイダなど
│
├── bootstrap/ # アプリ起動準備(autoloadなど)
├── config/ # アプリの設定ファイル(app.phpなど)
├── database/
│ ├── factories/ # テスト用のデータ生成ロジック
│ ├── migrations/ # テーブル作成・変更履歴
│ └── seeders/ # 初期データ投入スクリプト
├── public/ # ブラウザからアクセスされるWebルート(index.phpなど)
├── resources/
│ ├── views/ # Bladeテンプレート(HTML)
│ └── js/, css/ # 静的アセット(開発用)
├── routes/ # ルーティング定義(web.phpなど)
├── storage/ # キャッシュ、ログ、アップロードファイルなど
├── tests/ # PHPUnitテスト
├── .env # 環境変数(DB接続情報など)
├── artisan # LaravelのCLIコマンド
├── composer.json # PHP依存管理
└── その他ビルド・設定ファイル
要点まとめ
- src/ 以下はほぼ標準的な Laravel プロジェクト構成
- .env は src/ に置かれていて、php artisan 実行時は src を WORKDIR にすることで環境変数が読まれる
- Makefile や docker-compose.yml があることで、開発が高速&再現性のあるものになっている
まとめ
Docker と Laravel を使って開発環境を整えることで、PHP 学習の効率が大きく向上しました。この構成をベースにして、次はフォームを作って messages テーブルにデータ登録できるようにしていきたいです...!