Java エンジニアですが仕事で使うので Laravel を勉強してみました。
要件
- PHP 7.4
- Laravel 5.7
- MySQL 5.7
- Apache 2.4
開発環境
- macOS Big Sur
- VSCode
ローカル環境構築
-
mac の PHP はプリインストールの 7.4 をそのまま利用する
-
VSCode に 以下プラグインを追加
- Laravel Artisan
- Laravel Brade Snippets
- Laravel goto view
- Laravel Snippets
- PHP Debug
- PHP IntelliSense
リモート環境構築
どうせなら docker 上で動かそうと思い、 github をウロウロしました。
かなり素晴らしいリポジトリを発見したので、 fork させていただきました。
-
- fork 元は ucan-lab/docker-laravel
- くわしい解説は 最強のLaravel開発環境をDockerを使って構築する を参照
- fork 元より以下を修正
- nginx ではなく apache を使用する
- mysql をダウングレード
- 使わなそうなコマンド等を削除
- fork 元は ucan-lab/docker-laravel
-
構成
- app
- php と apache が稼働するコンテナ
- db
- MySQL が稼働するコンテナ
- 一応コンテナを落としても中身は残るようにしてある
- app
-
使い方
-
初回 (Laravel プロジェクトを作成する)
$ git clone git@github.com:sosobl/env-laravel.git $ cd env-laravel $ make create-project # Install the latest Laravel project $ make install-recommend-packages # Not required
-
初回 (既存プロジェクトをインポートする)
$ git clone git@github.com:sosobl/env-laravel.git $ cd env-laravel $ git clone git@github.com:laravel/laravel.git docker-laravel/backend # Clone any project to the backend directory $ make init
-
2 回目以降
$ make up
-
改善点
- ローカルの IDE(VSCode) から docker コンテナ上で稼働する php へのデバッグ方法が未検討
- Redis 入れないと...
変更履歴
- 2021/03/08
- PHP のバージョンを 5.6 へダウングレード(元は 5.7)
- Laravel 3 の laravel/helpers.php 内に定義されている
yield
メソッドが PHP 5.5 以降は予約語として存在するためエラーとなる
- Laravel 3 の laravel/helpers.php 内に定義されている
- Laravel 3 を curl でダウンロード、解凍するよう修正
- PHP のバージョンを 5.6 へダウングレード(元は 5.7)
- 2021/03/17
- PHP は 7.4、Laravel は 5.7 にした
- Laravel 3 対応は Makefile に残しておいた。が、使用しない予定。