こんにちは、かつコーチです。
Laravelで開発するとき、様々な動画や書籍がありますが、いろんな方法があって混乱しませんか?
Laravel開発を始める際の環境やワークフローについて、
いくつかの選択肢やツールを整理して解説します。
以下、代表的な開発方法やステップをまとめます。
1. PHPのインストール方法
Laravelを動かすためにはPHPが必要です。PHPは以下の方法でインストールできます。
HomeBrewを使う場合
Mac環境でPHPをインストールする場合、Homebrew を使うのが簡単です。
brew install phpインストール後、PHPが正しく動作しているかを確認するために以下を実行します。
php -vMAMPやXAMPPを使う場合
PHP、MySQL、Apacheの開発環境を一括でセットアップするために、
MAMPやXAMPPを使うのも一般的です。
これらのツールは、ローカル開発環境をすぐに立ち上げるのに便利です。
- MAMPやXAMPPをインストールします。
htdocsフォルダ内にLaravelプロジェクトを配置します。
例えば、以下のように composer create-project を使ってプロジェクトを作成します。
cd /Applications/MAMP/htdocs
composer create-project laravel/laravel example-appこれで、http://localhost/example-app/public でアプリケーションを
ブラウザから確認できるようになります。
2. グローバルインストールでLaravelを手軽に扱う
グローバルにLaravelインストーラーをインストールしておけば、
htdocs や特定のフォルダに依存せず、どこでもプロジェクトを作成できます。
Laravel Installerを使う場合
Laravelをグローバルにインストールすると、
任意のディレクトリから新しいプロジェクトを作成できます。
まず、Laravel Installerをインストールします。
composer global require laravel/installerこの場合、PATH を設定して laravel コマンドがどこからでも使えるようにしておく必要があります。bash か zsh に ~/.bashrc や ~/.zshrc ファイルに以下を追記します。
export PATH="$HOME/.composer/vendor/bin:$PATH"その後、新しいLaravelプロジェクトを以下のように簡単に作成できます。
laravel new example-appこれで、htdocs に入れなくてもどこからでもプロジェクトを作成でき、ディレクトリ構造も自由に選択できます。
3. Dockerを使った本番に近い開発環境のセットアップ
ローカル開発環境は簡便ですが、本番環境に近いセットアップをしたい場合は
Docker を利用すると効率的です。
Dockerはコンテナベースの仮想環境で、プロジェクトを実行するための必要な環境を構築します。
Laravel Sailを使う場合
Laravelには公式のDockerベースの環境である Sail があります。
これを使えば、Docker を使った開発環境を簡単にセットアップできます。
- まずはプロジェクトを作成します。
composer create-project laravel/laravel example-app
cd example-app- Laravel Sailをインストールします。
composer require laravel/sail --dev- Sailのコマンドを使って環境を立ち上げます。以下のコマンドで環境が自動的に構築されます。
./vendor/bin/sail upSailは、PHP、MySQL、Redis、Mailhogなど、開発に必要な全てのサービスをコンテナ内で管理し、
プロジェクトと一緒に動かすことができます。
Docker Composeでカスタマイズ
より複雑な環境設定や、特定の要件に合わせたカスタマイズをしたい場合は、
docker-compose.yml ファイルを手動で設定します。
例えば、以下のような docker-compose.yml を作成して環境を定義します。
version: '3'
services:
app:
image: php:8.1-fpm
volumes:
- .:/var/www/html
networks:
- laravel
web:
image: nginx:alpine
volumes:
- .:/var/www/html
- ./nginx/nginx.conf:/etc/nginx/nginx.conf
ports:
- "8000:80"
networks:
- laravel
db:
image: mysql:5.7
environment:
MYSQL_DATABASE: example_db
MYSQL_ROOT_PASSWORD: secret
volumes:
- dbdata:/var/lib/mysql
networks:
- laravel
networks:
laravel:
volumes:
dbdata:
このようにして、プロジェクトの環境をDocker上で一括して管理できます。
プロジェクトに複数のサービスが必要な場合(例えば、Nginx、PHP-FPM、MySQLなど)、
Dockerは非常に便利です。
まとめ
以下の3つの方法を整理すると、次のようになります。
- MAMP/XAMPPでの開発:
- シンプルなローカル開発環境。
htdocsにプロジェクトを作成し、すぐに開発開始可能。- 小規模な開発や手軽なプロジェクトに最適。
- グローバルインストール:
- Laravel Installerを使えば、どこからでもプロジェクトを作成可能。
- プロジェクトごとにディレクトリを自由に管理可能。
- DockerやSailでの開発:
- 本番環境に近い開発環境を構築可能。
- Sailを使えば、Dockerを使った環境設定も手軽。
- カスタマイズしたい場合は、
docker-compose.ymlを用いて詳細な環境設定が可能。
このように、開発規模や目的に応じて最適な方法を選べます。
