インストール
Laravelのご紹介
Laravelは、表現力豊かでエレガントな構文を備えたWebアプリケーションフレームワークです。Webフレームワークは、アプリケーションを作成するための構造と出発点を提供し、細部を気にすることなく、素晴らしいものを作成することに集中できるようにします。
Laravelは、徹底的な依存性注入、表現力豊かなデータベース抽象化レイヤー、キューとスケジュールされたジョブ、ユニットおよび統合テストなどの強力な機能を提供しながら、素晴らしい開発者エクスペリエンスを提供するよう努めています。
PHP Webフレームワークを初めて使用する場合でも、長年の経験がある場合でも、Laravelはあなたとともに成長できるフレームワークです。Web開発者としての第一歩を踏み出すお手伝いをしたり、専門知識を次のレベルに引き上げる際に後押しをしたりします。あなたが何を作るかを見るのが待ちきれません。
Laravelを初めて使用しますか?最初のLaravelアプリケーションの構築を案内しながら、フレームワークを実践的に体験できるLaravel Bootcampをご覧ください。
なぜLaravel?
Webアプリケーションを構築する際には、さまざまなツールとフレームワークを利用できます。ただし、Laravelは最新のフルスタックWebアプリケーションを構築するための最良の選択肢であると信じています。
進歩的なフレームワーク
Laravelを「進歩的な」フレームワークと呼びたいと思います。つまり、Laravelはあなたとともに成長します。Web開発に初めて足を踏み入れる場合、Laravelの膨大なドキュメント、ガイド、およびビデオチュートリアルのライブラリは、圧倒されることなく基本を学ぶのに役立ちます。
あなたが上級開発者であれば、Laravelは依存性注入、ユニットテスト、キュー、リアルタイムイベントなどの堅牢なツールを提供します。Laravelは、プロフェッショナルなWebアプリケーションを構築するために微調整されており、エンタープライズワークロードを処理する準備ができています。
スケーラブルなフレームワーク
Laravelは非常にスケーラブルです。PHPのスケーリングに優しい性質と、Redisのような高速な分散キャッシュシステムに対するLaravelの組み込みサポートのおかげで、Laravelによる水平スケーリングは簡単です。実際、Laravelアプリケーションは、1か月あたり数億件のリクエストを簡単に処理できるようにスケーリングされています。
究極のスケーリングが必要ですか?Laravel Vaporのようなプラットフォームを使用すると、AWSの最新のサーバーレス技術でLaravelアプリケーションをほぼ無制限のスケールで実行できます。
コミュニティフレームワーク
Laravelは、PHPエコシステムで最高のパッケージを組み合わせて、利用可能な最も堅牢で開発者フレンドリーなフレームワークを提供します。さらに、世界中の何千人もの才能ある開発者がフレームワークに貢献しています。もしかしたら、あなたもLaravelの貢献者になるかもしれません。
Laravelアプリケーションの作成
PHPとLaravelインストーラのインストール
最初のLaravelアプリケーションを作成する前に、ローカルマシンにPHP、Composer、およびLaravelインストーラがインストールされていることを確認してください。さらに、アプリケーションのフロントエンドアセットをコンパイルできるように、NodeとNPMまたはBunのいずれかをインストールする必要があります。
ローカルマシンにPHPとComposerがインストールされていない場合、次のコマンドは、macOS、Windows、またはLinuxにPHP、Composer、およびLaravelインストーラをインストールします。
/bin/bash -c "$(curl -fsSL https://php.new/install/mac/8.3)"
# Run as administrator...Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://php.new/install/windows/8.3'))
/bin/bash -c "$(curl -fsSL https://php.new/install/linux/8.3)"
上記のいずれかのコマンドを実行した後、ターミナルセッションを再起動する必要があります。php.new
を介してインストールした後、PHP、Composer、およびLaravelインストーラを更新するには、ターミナルでコマンドを再実行できます。
PHPとComposerが既にインストールされている場合は、Composer経由でLaravelインストーラをインストールできます。
composer global require laravel/installer
完全に機能するグラフィカルなPHPインストールおよび管理エクスペリエンスについては、Laravel Herdをご覧ください。
アプリケーションの作成
PHP、Composer、およびLaravelインストーラをインストールしたら、新しいLaravelアプリケーションを作成する準備が整いました。Laravelインストーラは、優先するテストフレームワーク、データベース、およびスターターキットを選択するように求めます。
laravel new example-app
アプリケーションが作成されたら、dev
Composerスクリプトを使用して、Laravelのローカル開発サーバー、キューワーカー、およびVite開発サーバーを起動できます。
cd example-appnpm install && npm run buildcomposer run dev
開発サーバーを起動すると、Webブラウザでhttp://localhost:8000でアプリケーションにアクセスできるようになります。次に、Laravelエコシステムへの次のステップを開始する準備が整いました。もちろん、データベースを設定することもできます。
Laravelアプリケーションを開発する際に有利なスタートを切りたい場合は、スターターキットのいずれかの使用をご検討ください。Laravelのスターターキットは、新しいLaravelアプリケーションのバックエンドおよびフロントエンド認証スキャフォールディングを提供します。
初期設定
Laravelフレームワークのすべての設定ファイルは、config
ディレクトリに保存されています。各オプションはドキュメント化されているため、ファイルを調べて、利用可能なオプションに慣れてください。
Laravelは、箱から出してすぐにほぼ追加の設定を必要としません。すぐに開発を開始できます!ただし、config/app.php
ファイルとそのドキュメントを確認することをお勧めします。アプリケーションに応じて変更したいtimezone
やlocale
などのいくつかのオプションが含まれています。
環境ベースの設定
Laravel の多くの設定オプションの値は、アプリケーションがローカルマシンで実行されているか、本番環境のウェブサーバーで実行されているかによって異なる可能性があるため、多くの重要な設定値は、アプリケーションのルートに存在する .env
ファイルを使用して定義されています。
アプリケーションを使用する開発者やサーバーごとに異なる環境設定が必要となる可能性があるため、.env
ファイルをアプリケーションのソース管理にコミットするべきではありません。さらに、侵入者がソース管理リポジトリにアクセスした場合、機密性の高い認証情報が公開されるため、セキュリティリスクにもなります。
.env
ファイルと環境ベースの設定の詳細については、完全な設定ドキュメントを参照してください。
データベースとマイグレーション
Laravel アプリケーションを作成したので、データベースにデータを保存したいと思うでしょう。デフォルトでは、アプリケーションの .env
設定ファイルは、Laravel が SQLite データベースと連携するように指定しています。
アプリケーションの作成中に、Laravel は database/database.sqlite
ファイルを作成し、アプリケーションのデータベーステーブルを作成するために必要なマイグレーションを実行しました。
MySQL や PostgreSQL などの別のデータベースドライバーを使用する場合は、.env
設定ファイルを更新して適切なデータベースを使用できます。たとえば、MySQL を使用する場合は、.env
設定ファイルの DB_*
変数を次のように更新します。
DB_CONNECTION=mysqlDB_HOST=127.0.0.1DB_PORT=3306DB_DATABASE=laravelDB_USERNAME=rootDB_PASSWORD=
SQLite 以外のデータベースを使用する場合は、データベースを作成し、アプリケーションのデータベースマイグレーションを実行する必要があります。
php artisan migrate
macOS または Windows で開発していて、MySQL、PostgreSQL、または Redis をローカルにインストールする必要がある場合は、Herd Pro の使用を検討してください。
ディレクトリ設定
Laravel は常に、ウェブサーバーに設定された「ウェブディレクトリ」のルートから提供される必要があります。「ウェブディレクトリ」のサブディレクトリから Laravel アプリケーションを提供しようとするべきではありません。そうしようとすると、アプリケーション内に存在する機密ファイルが公開される可能性があります。
Herdを使用したローカルインストール
Laravel Herd は、macOS および Windows 向けの超高速なネイティブ Laravel および PHP 開発環境です。Herd には、PHP や Nginx など、Laravel 開発を開始するために必要なものがすべて含まれています。
Herd をインストールすると、Laravel での開発を開始する準備が整います。Herd には、php
、composer
、laravel
、expose
、node
、npm
、nvm
のコマンドラインツールが含まれています。
Herd Pro は、ローカルの MySQL、Postgres、Redis データベースを作成および管理する機能や、ローカルのメール表示およびログ監視など、強力な追加機能で Herd を強化します。
macOSでのHerd
macOS で開発している場合は、Herd ウェブサイトから Herd インストーラーをダウンロードできます。インストーラーは、最新バージョンの PHP を自動的にダウンロードし、バックグラウンドで常に Nginx を実行するように Mac を構成します。
macOS 版の Herd は、dnsmasq を使用して「パーク」ディレクトリをサポートしています。パークされたディレクトリ内の Laravel アプリケーションは、Herd によって自動的に提供されます。デフォルトでは、Herd は ~/Herd
にパークされたディレクトリを作成し、このディレクトリ内の Laravel アプリケーションには、ディレクトリ名を使用して .test
ドメインでアクセスできます。
Herd をインストールした後、新しい Laravel アプリケーションを作成する最も速い方法は、Herd にバンドルされている Laravel CLI を使用することです。
cd ~/Herdlaravel new my-appcd my-appherd open
もちろん、パークされたディレクトリやその他の PHP 設定は、システムトレイの Herd メニューから開くことができる Herd の UI を介して常に管理できます。
Herd の詳細については、Herd ドキュメントを参照してください。
WindowsでのHerd
Herd ウェブサイトで、Herd の Windows インストーラーをダウンロードできます。インストールが完了したら、Herd を起動してオンボーディングプロセスを完了し、初めて Herd UI にアクセスできます。
Herd UI には、Herd のシステムトレイアイコンを左クリックすることでアクセスできます。右クリックすると、日常的に必要なすべてのツールにアクセスできるクイックメニューが開きます。
インストール中に、Herd はホームディレクトリの %USERPROFILE%\Herd
に「パーク」されたディレクトリを作成します。パークされたディレクトリ内の Laravel アプリケーションは Herd によって自動的に提供され、このディレクトリ内の Laravel アプリケーションには、ディレクトリ名を使用して .test
ドメインでアクセスできます。
Herd をインストールした後、新しい Laravel アプリケーションを作成する最も速い方法は、Herd にバンドルされている Laravel CLI を使用することです。開始するには、Powershell を開き、次のコマンドを実行します。
cd ~\Herdlaravel new my-appcd my-appherd open
Herd の詳細については、Windows 版 Herd ドキュメントを参照してください。
Sailを使用したDockerインストール
お好みのオペレーティングシステムに関係なく、Laravel を簡単に始められるようにしたいと考えています。そのため、ローカルマシンで Laravel アプリケーションを開発および実行するためのさまざまなオプションがあります。これらのオプションは後で検討することもできますが、Laravel は Docker を使用して Laravel アプリケーションを実行するための組み込みソリューションである Sail を提供しています。
Docker は、ローカルマシンにインストールされているソフトウェアや構成を妨げない、小型で軽量な「コンテナ」でアプリケーションやサービスを実行するためのツールです。つまり、ローカルマシンでウェブサーバーやデータベースなどの複雑な開発ツールを構成または設定する必要はありません。開始するには、Docker Desktop をインストールするだけです。
Laravel Sail は、Laravel のデフォルトの Docker 構成と対話するための軽量なコマンドラインインターフェイスです。Sail は、以前に Docker を使用した経験がなくても、PHP、MySQL、および Redis を使用して Laravel アプリケーションを構築するための優れた出発点を提供します。
すでに Docker の専門家ですか?ご心配なく!Sail のすべての設定は、Laravel に含まれている docker-compose.yml
ファイルを使用してカスタマイズできます。
macOSでのSail
Mac で開発していて、Docker Desktop がすでにインストールされている場合は、シンプルなターミナルコマンドを使用して新しい Laravel アプリケーションを作成できます。たとえば、「example-app」という名前のディレクトリに新しい Laravel アプリケーションを作成するには、ターミナルで次のコマンドを実行します。
curl -s "https://laravel.build/example-app" | bash
もちろん、この URL の「example-app」は好きなものに変更できます。アプリケーション名には、英数字、ダッシュ、アンダースコアのみが含まれていることを確認してください。Laravel アプリケーションのディレクトリは、コマンドを実行したディレクトリ内に作成されます。
Sail のアプリケーションコンテナがローカルマシンで構築されるため、Sail のインストールには数分かかる場合があります。
アプリケーションが作成されたら、アプリケーションディレクトリに移動して Laravel Sail を起動できます。Laravel Sail は、Laravel のデフォルトの Docker 構成と対話するためのシンプルなコマンドラインインターフェイスを提供します。
cd example-app ./vendor/bin/sail up
アプリケーションの Docker コンテナが起動したら、アプリケーションのデータベースマイグレーションを実行する必要があります。
./vendor/bin/sail artisan migrate
最後に、ウェブブラウザで http://localhost でアプリケーションにアクセスできます。
Laravel Sail の詳細については、完全なドキュメントを確認してください。
WindowsでのSail
Windows マシンで新しい Laravel アプリケーションを作成する前に、Docker Desktop をインストールしてください。次に、Windows Subsystem for Linux 2 (WSL2) がインストールされ、有効になっていることを確認する必要があります。WSL を使用すると、Windows 10 で Linux バイナリ実行可能ファイルをネイティブに実行できます。WSL2 のインストールと有効化の方法については、Microsoft の開発者環境ドキュメントを参照してください。
WSL2 をインストールして有効にしたら、Docker Desktop がWSL2 バックエンドを使用するように構成されていることを確認する必要があります。
次に、最初の Laravel アプリケーションを作成する準備が整いました。Windows Terminal を起動し、WSL2 Linux オペレーティングシステムの新しいターミナルセッションを開始します。次に、シンプルなターミナルコマンドを使用して、新しい Laravel アプリケーションを作成できます。たとえば、「example-app」という名前のディレクトリに新しい Laravel アプリケーションを作成するには、ターミナルで次のコマンドを実行します。
curl -s https://laravel.build/example-app | bash
もちろん、この URL の「example-app」は好きなものに変更できます。アプリケーション名には、英数字、ダッシュ、アンダースコアのみが含まれていることを確認してください。Laravel アプリケーションのディレクトリは、コマンドを実行したディレクトリ内に作成されます。
Sail のアプリケーションコンテナがローカルマシンで構築されるため、Sail のインストールには数分かかる場合があります。
アプリケーションが作成されたら、アプリケーションディレクトリに移動して Laravel Sail を起動できます。Laravel Sail は、Laravel のデフォルトの Docker 構成と対話するためのシンプルなコマンドラインインターフェイスを提供します。
cd example-app ./vendor/bin/sail up
アプリケーションの Docker コンテナが起動したら、アプリケーションのデータベースマイグレーションを実行する必要があります。
./vendor/bin/sail artisan migrate
最後に、ウェブブラウザで http://localhost でアプリケーションにアクセスできます。
Laravel Sail の詳細については、完全なドキュメントを確認してください。
WSL2 内での開発
もちろん、WSL2 インストール内で作成された Laravel アプリケーションファイルを変更できる必要があります。これを実現するには、Microsoft のVisual Studio Codeエディターと、リモート開発用のファーストパーティ拡張機能を使用することをお勧めします。
これらのツールがインストールされたら、Windows Terminal を使用してアプリケーションのルートディレクトリから code .
コマンドを実行して、Laravel アプリケーションを開くことができます。
LinuxでのSail
Linux で開発していて、Docker Compose がすでにインストールされている場合は、シンプルなターミナルコマンドを使用して新しい Laravel アプリケーションを作成できます。
まず、Docker Desktop for Linux を使用している場合は、次のコマンドを実行する必要があります。Docker Desktop for Linux を使用していない場合は、この手順をスキップできます。
docker context use default
次に、「example-app」という名前のディレクトリに新しい Laravel アプリケーションを作成するには、ターミナルで次のコマンドを実行します。
curl -s https://laravel.build/example-app | bash
もちろん、この URL の「example-app」は好きなものに変更できます。アプリケーション名には、英数字、ダッシュ、アンダースコアのみが含まれていることを確認してください。Laravel アプリケーションのディレクトリは、コマンドを実行したディレクトリ内に作成されます。
Sail のアプリケーションコンテナがローカルマシンで構築されるため、Sail のインストールには数分かかる場合があります。
アプリケーションが作成されたら、アプリケーションディレクトリに移動して Laravel Sail を起動できます。Laravel Sail は、Laravel のデフォルトの Docker 構成と対話するためのシンプルなコマンドラインインターフェイスを提供します。
cd example-app ./vendor/bin/sail up
アプリケーションの Docker コンテナが起動したら、アプリケーションのデータベースマイグレーションを実行する必要があります。
./vendor/bin/sail artisan migrate
最後に、ウェブブラウザで http://localhost でアプリケーションにアクセスできます。
Laravel Sail の詳細については、完全なドキュメントを確認してください。
Sailサービスの選択
Sail を介して新しい Laravel アプリケーションを作成する場合は、with
クエリ文字列変数を使用して、新しいアプリケーションの docker-compose.yml
ファイルで構成する必要があるサービスを選択できます。使用可能なサービスには、mysql
、pgsql
、mariadb
、redis
、memcached
、meilisearch
、typesense
、minio
、selenium
、および mailpit
があります。
curl -s "https://laravel.build/example-app?with=mysql,redis" | bash
構成するサービスを指定しない場合、デフォルトのスタックである mysql
、redis
、meilisearch
、mailpit
、および selenium
が構成されます。
URL に devcontainer
パラメーターを追加することで、Sail にデフォルトのDevcontainer をインストールするように指示できます。
curl -s "https://laravel.build/example-app?with=mysql,redis&devcontainer" | bash
IDEサポート
Laravel アプリケーションを開発する際は、任意のコードエディターを自由に使用できます。ただし、PhpStorm は、Laravel Pint を含め、Laravel とそのエコシステムに対する幅広いサポートを提供します。
さらに、コミュニティでメンテナンスされている Laravel Idea PhpStorm プラグインは、コード生成、Eloquent 構文の補完、検証ルールの補完など、さまざまな便利な IDE 機能強化を提供します。
次のステップ
Laravel アプリケーションを作成したので、次に何を学ぶべきか疑問に思われるかもしれません。まず、次のドキュメントを読んで、Laravel の仕組みを理解することを強くお勧めします。
Laravel をどのように使用したいかによって、次のステップも決まります。Laravel にはさまざまな使用方法があり、以下ではフレームワークの 2 つの主要なユースケースについて説明します。
Laravelを初めて使用しますか?最初のLaravelアプリケーションの構築を案内しながら、フレームワークを実践的に体験できるLaravel Bootcampをご覧ください。
フルスタックフレームワークとしてのLaravel
Laravel はフルスタックフレームワークとして機能します。「フルスタック」フレームワークとは、Laravel を使用してアプリケーションへのリクエストをルーティングし、Blade テンプレートまたは Inertia のようなシングルページアプリケーションハイブリッドテクノロジーを介してフロントエンドをレンダリングすることを意味します。これは Laravel フレームワークを使用する最も一般的な方法であり、私たちの意見では、Laravel を使用する最も生産的な方法です。
これが Laravel を使用する予定である場合は、フロントエンド開発、ルーティング、ビュー、またはEloquent ORM に関するドキュメントを確認することをお勧めします。さらに、Livewire や Inertia のようなコミュニティパッケージに興味があるかもしれません。これらのパッケージを使用すると、シングルページの JavaScript アプリケーションが提供する多くの UI メリットを享受しながら、Laravel をフルスタックフレームワークとして使用できます。
もしLaravelをフルスタックフレームワークとして使用している場合は、アプリケーションのCSSとJavaScriptをViteを使ってコンパイルする方法も学ぶことを強くお勧めします。
アプリケーションの構築をすぐに始めたい場合は、公式のアプリケーションスターターキットのいずれかをご確認ください。
APIバックエンドとしてのLaravel
Laravelは、JavaScriptのシングルページアプリケーションやモバイルアプリケーションのAPIバックエンドとしても機能します。たとえば、Next.jsアプリケーションのAPIバックエンドとしてLaravelを使用できます。このコンテキストでは、Laravelを使用してアプリケーションの認証とデータストレージ/取得を提供すると同時に、キュー、メール、通知など、Laravelの強力なサービスを活用できます。
もしこの方法でLaravelを使用する予定の場合は、ルーティング、Laravel Sanctum、およびEloquent ORMに関するドキュメントを確認することをお勧めします。
LaravelバックエンドとNext.jsフロントエンドのスキャフォールディングをすぐに始めたいですか?Laravel Breezeは、APIスタックとNext.jsフロントエンド実装を提供しているため、数分で開始できます。