Laravelは人気のPHPフレームワークであり、開発者に豊かで効率的な開発環境を提供します。しかし、開発環境の構築はしばしば初心者にとっても経験豊富な開発者にとっても骨の折れる作業です。そこでLaravelはSailを導入し、Dockerを活用して簡単に開発環境を構築することができるようになりました。この記事では、Laravel SailとDockerを使って迅速かつ効率的に開発環境を設定する方法をステップバイステップで解説します。
Laravel Sailとは?
Laravel Sailは、Laravelアプリケーションのための軽量なコマンドラインインターフェース(CLI)で、Dockerを使用してデフォルトの開発環境を提供します。これにより、開発者は複雑な設定なしに必要なサービス(Webサーバー、データベース、キャッシュ)を簡単に開始できるようになります。Sailは、Local開発を容易にするために設計されており、初心者でも迅速に環境を構築できます。
前提条件
- Dockerのインストール: Laravel SailはDockerを依存しているため、まずDocker Desktopのインストールが必要です。Windows、MacOS、またはLinux上で動作するDockerの最新バージョンをインストールしてください。
- PHPとComposerのインストール: Laravelのプロジェクトを作成するためにPHPとComposerが必要です。これらはローカルにインストールしておいてください。
1. 新しいLaravelプロジェクトの作成
まず、Composerを使って新しいLaravelプロジェクトを作成します。これにはターミナルまたはコマンドプロンプトを使用します。
composer create-project laravel/laravel your-project-name
これでyour-project-nameという名前のディレクトリが作成され、Laravelがその中にインストールされます。
2. Laravel Sailのインストール
プロジェクトディレクトリに移動し、Sailをプロジェクトに追加します。以下のコマンドを実行してください。
cd your-project-name
composer require laravel/sail --dev
Laravel Sailは開発環境に特化したツールのため、--devオプションを使用しています。
3. Dockerコンテナの構成
SailはDocker Composeを利用してサービスを管理します。LaravelプロジェクトにSailの初期構成を生成するには以下のコマンドを実行します。
php artisan sail:install
このコマンドを実行すると、利用可能なサービス(MySQL, Redis, MailHogなど)を選択するオプションが表示されます。デフォルトで選択されているもので問題なければ、そのままエンターキーを押して続行します。
4. Dockerコンテナを起動
プロジェクトのルートディレクトリにdocker-compose.ymlが生成されています。このファイルを使ってDockerコンテナを起動します。
./vendor/bin/sail up
./vendor/bin/sailはSailコマンドを呼び出すランチャーとなります。コマンドをバックグラウンドで実行する場合は-dオプションを付けます。
./vendor/bin/sail up -d
これにより、指定したサービスのDockerコンテナがバックグラウンドで起動し、Laravelアプリケーションがローカルホストを介してアクセス可能になります。
5. ローカルでの開発開始
コンテナの起動が完了したら、Webブラウザでhttp://localhostを開きます。デフォルトのLaravelページが表示されるはずです。これでLaravelの開発を始める準備が整いました。
6. その他のSailコマンド
Sailはさまざまな開発関連のコマンドを提供しています。以下はその例です。
- Artisanコマンド実行:
./vendor/bin/sail artisan migrate
- Laravel Tinkerの使用:
./vendor/bin/sail artisan tinker
- テストの実行:
./vendor/bin/sail test
これらのコマンドは、Dockerコンテナ内でLaravel Artisanを通じて実行され、環境を汚すことなく開発を続けられます。
まとめ
Laravel SailとDockerを使うことで、十分に調整された開発環境を迅速にセットアップすることができます。この環境はLaravelが提供する多くの革新的な機能を利用するための強力な基盤となります。Sailは特に複数人のチームでの一貫した開発環境の提供において有益で、初歩的な設定をするだけで本格的な開発に集中できるため、効率的なプロジェクトの開始に最適です。
以上を参考に、ぜひLaravel Sailによって快適な開発体験を手に入れてください。


コメント