Skip to content

インストール

Laravelについて

Laravelは、表現力豊かでエレガントな構文を持つWebアプリケーションフレームワークです。Webフレームワークは、アプリケーションを作成するための構造と出発点を提供し、詳細を気にせずに素晴らしいものを作成することに集中できるようにします。

Laravelは、驚くべき開発者体験を提供すると同時に、徹底的な依存性注入、表現力豊かなデータベース抽象化レイヤー、キューとスケジュールされたジョブ、ユニットテストと統合テストなどの強力な機能を提供することを目指しています。

PHPのWebフレームワークを初めて使用する方でも、何年もの経験を持つ方でも、Laravelはあなたと共に成長するフレームワークです。Web開発者としての最初の一歩を踏み出すのを手助けしたり、専門知識を次のレベルに引き上げるのを支援します。あなたが何を作るかを見るのが楽しみです。

Note

Laravelを初めて使う方は、Laravel Bootcampをチェックしてください。フレームワークのハンズオンツアーを通じて、初めてのLaravelアプリケーションを構築する過程を一緒に進めます。

なぜLaravelなのか?

Webアプリケーションを構築する際には、さまざまなツールやフレームワークが利用可能です。しかし、私たちはLaravelが現代のフルスタックWebアプリケーションを構築するための最良の選択肢であると考えています。

プログレッシブフレームワーク

Laravelを「プログレッシブ」フレームワークと呼ぶことがあります。つまり、Laravelはあなたと共に成長します。Web開発の最初の一歩を踏み出す場合、Laravelの膨大なドキュメント、ガイド、ビデオチュートリアルが、圧倒されることなく学習をサポートします。

シニア開発者であれば、Laravelは依存性注入ユニットテストキューリアルタイムイベントなどの強力なツールを提供します。Laravelは、プロフェッショナルなWebアプリケーションを構築するために微調整されており、企業のワークロードに対応できる準備が整っています。

スケーラブルなフレームワーク

Laravelは非常にスケーラブルです。PHPのスケーリングに適した性質と、Laravelの組み込みサポートであるRedisのような高速で分散型のキャッシュシステムのおかげで、Laravelでの水平スケーリングは簡単です。実際、Laravelアプリケーションは月に何億ものリクエストを簡単に処理できるようにスケーリングされています。

極端なスケーリングが必要ですか?Laravel Vaporのようなプラットフォームでは、AWSの最新のサーバーレステクノロジーを使用して、ほぼ無制限のスケールでLaravelアプリケーションを実行できます。

コミュニティフレームワーク

Laravelは、PHPエコシステムの最高のパッケージを組み合わせて、最も堅牢で開発者に優しいフレームワークを提供します。さらに、世界中から何千人もの才能ある開発者がフレームワークに貢献しています。誰もがLaravelの貢献者になるかもしれません。

Laravelプロジェクトの作成

最初のLaravelプロジェクトを作成する前に、ローカルマシンにPHPとComposerがインストールされていることを確認してください。macOSまたはWindowsで開発している場合、PHP、Composer、Node、NPMはLaravel Herdを介して数分でインストールできます。

PHPとComposerをインストールした後、Composerのcreate-projectコマンドを使用して新しいLaravelプロジェクトを作成できます:

composer create-project laravel/laravel example-app

または、LaravelインストーラーをComposerを介してグローバルにインストールすることで、新しいLaravelプロジェクトを作成できます。Laravelインストーラーを使用すると、新しいアプリケーションを作成する際に、好みのテストフレームワーク、データベース、スターターキットを選択できます:

composer global require laravel/installer

laravel new example-app

プロジェクトが作成されたら、Laravel Artisanのserveコマンドを使用してLaravelのローカル開発サーバーを起動します:

cd example-app

php artisan serve

Artisan開発サーバーを起動したら、アプリケーションはWebブラウザでhttp://localhost:8000からアクセスできます。次に、Laravelエコシステムの次のステップに進む準備が整いました。もちろん、データベースの設定も行いたいかもしれません。

Note

Laravelアプリケーションの開発を始める際に先を急ぎたい場合は、スターターキットのいずれかを使用することを検討してください。Laravelのスターターキットは、新しいLaravelアプリケーションのためのバックエンドとフロントエンドの認証スキャフォールディングを提供します。

初期設定

Laravelフレームワークのすべての設定ファイルは、configディレクトリに保存されています。各オプションにはドキュメントがあるので、ファイルを見て、利用可能なオプションに慣れ親しんでください。

Laravelは、ほとんど追加の設定を必要としません。自由に開発を始めることができます!ただし、config/app.phpファイルとそのドキュメントを確認することをお勧めします。アプリケーションに応じて変更したいtimezonelocaleなどのオプションが含まれています。

環境ベースの設定

Laravelの多くの設定オプションの値は、アプリケーションがローカルマシンで実行されているか、本番Webサーバーで実行されているかによって異なる場合があります。そのため、多くの重要な設定値は、アプリケーションのルートに存在する.envファイルを使用して定義されます。

.envファイルは、アプリケーションのソース管理にコミットしないでください。アプリケーションを使用する各開発者/サーバーは、異なる環境設定を必要とする可能性があるためです。さらに、侵入者がソース管理リポジトリにアクセスした場合、機密の認証情報が公開されるリスクがあります。

Note

.envファイルと環境ベースの設定についての詳細は、完全な設定ドキュメントを確認してください。

データベースとマイグレーション

Laravelアプリケーションを作成したので、おそらくデータベースにデータを保存したいと思うでしょう。デフォルトでは、アプリケーションの.env設定ファイルは、LaravelがSQLiteデータベースと対話することを指定しています。

プロジェクトの作成中に、Laravelはdatabase/database.sqliteファイルを作成し、アプリケーションのデータベーステーブルを作成するために必要なマイグレーションを実行しました。

MySQLやPostgreSQLなどの別のデータベースドライバを使用する場合は、.env設定ファイルを更新して適切なデータベースを使用するようにします。たとえば、MySQLを使用する場合は、.env設定ファイルのDB_*変数を次のように更新します:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=

SQLite以外のデータベースを使用する場合は、データベースを作成し、アプリケーションのデータベースマイグレーションを実行する必要があります:

php artisan migrate

Note

macOSまたはWindowsで開発しており、MySQL、PostgreSQL、またはRedisをローカルにインストールする必要がある場合は、Herd Proの使用を検討してください。

ディレクトリ設定

Laravelは、Webサーバー用に設定された「Webディレクトリ」のルートから常に提供されるべきです。Laravelアプリケーションを「Webディレクトリ」のサブディレクトリから提供しようとしないでください。そうすると、アプリケーション内に存在する機密ファイルが公開される可能性があります。

Herdを使用したローカルインストール

Laravel Herdは、macOSとWindows用の超高速なネイティブLaravelおよびPHP開発環境です。Herdには、Laravel開発を始めるために必要なすべてが含まれています。PHPとNginxを含む。

Herdをインストールしたら、Laravelでの開発を始める準備が整います。Herdには、phpcomposerlaravelexposenodenpmnvmのコマンドラインツールが含まれています。

Note

Herd Proは、Herdをさらに強力な機能で拡張します。例えば、ローカルのMySQL、Postgres、Redisデータベースの作成と管理、ローカルメールの表示、ログの監視などが可能です。

macOSでのHerd

macOSで開発している場合、HerdのWebサイトからHerdインストーラーをダウンロードできます。インストーラーは、最新バージョンのPHPを自動的にダウンロードし、Macを常にNginxをバックグラウンドで実行するように設定します。

macOS用のHerdは、「パークされた」ディレクトリをサポートするためにdnsmasqを使用します。パークされたディレクトリ内のLaravelアプリケーションは、自動的にHerdによって提供されます。デフォルトでは、Herdは~/Herdにパークされたディレクトリを作成し、このディレクトリ内のLaravelアプリケーションには、ディレクトリ名を使用して.testドメインでアクセスできます。

WindowsでのHerd

Windowsで開発している場合、HerdのWebサイトからHerdインストーラーをダウンロードできます。インストーラーは、最新バージョンのPHPを自動的にダウンロードし、Windowsを常にNginxをバックグラウンドで実行するように設定します。

Windows用のHerdは、「パークされた」ディレクトリをサポートするためにdnsmasqを使用します。パークされたディレクトリ内のLaravelアプリケーションは、自動的にHerdによって提供されます。デフォルトでは、Herdは~/Herdにパークされたディレクトリを作成し、このディレクトリ内のLaravelアプリケーションには、ディレクトリ名を使用して.testドメインでアクセスできます。

Sailを使用したDockerインストール

Laravel Sailは、LaravelのデフォルトのDocker開発環境です。Sailは、Dockerを使用してLaravelアプリケーションを開発するための簡単な方法を提供します。

Sailを使用してLaravelプロジェクトを作成するには、Composerのcreate-projectコマンドを使用します:

composer create-project laravel/laravel example-app

プロジェクトが作成されたら、Sailを起動します:

cd example-app

./vendor/bin/sail up

Sailを起動したら、アプリケーションはWebブラウザでhttp://localhostからアクセスできます。次に、Laravelエコシステムの次のステップに進む準備が整いました。もちろん、データベースの設定も行いたいかもしれません。

macOSでのSail

macOSで開発している場合、Docker Desktopをインストールする必要があります。Docker Desktopをインストールしたら、Sailを使用してLaravelプロジェクトを作成できます。

WindowsでのSail

Windowsで開発している場合、Docker Desktopをインストールする必要があります。Docker Desktopをインストールしたら、Sailを使用してLaravelプロジェクトを作成できます。

LinuxでのSail

Linuxで開発している場合、Dockerをインストールする必要があります。Dockerをインストールしたら、Sailを使用してLaravelプロジェクトを作成できます。

Sailサービスの選択

Sailを使用してLaravelプロジェクトを作成する際に、使用するサービスを選択できます。デフォルトでは、SailはMySQL、Redis、Memcached、MeiliSearch、MailHog、およびNodeを使用します。

サービスを選択するには、create-projectコマンドに--servicesオプションを追加します:

composer create-project laravel/laravel example-app --services=mysql,redis

IDEサポート

Laravelは、VS CodePHPStormなどの一般的なIDEをサポートしています。Laravelアプリケーションを開発する際に、これらのIDEを使用することを強くお勧めします。

次のステップ

Laravelアプリケーションの開発を始めたら、次のステップに進む準備が整いました。

Laravel、フルスタックフレームワーク

Laravelは、フルスタックフレームワークとして使用できます。Laravelを使用して、バックエンドとフロントエンドの両方を開発できます。Laravelは、バックエンドの開発に必要なすべてのツールを提供し、フロントエンドの開発に必要なツールも提供します。

Laravel、APIバックエンド

Laravelは、APIバックエンドとして使用できます。Laravelを使用して、フロントエンドアプリケーションのAPIバックエンドを開発できます。Laravelは、APIバックエンドの開発に必要なすべてのツールを提供します。

Herdをインストールした後、新しいLaravelプロジェクトを作成する最も速い方法は、HerdにバンドルされているLaravel CLIを使用することです。

cd ~/Herd
laravel new my-app
cd my-app
herd open

もちろん、パークされたディレクトリやその他のPHP設定は、システムトレイのHerdメニューから開くことができるHerdのUIを介していつでも管理できます。

Herdの詳細については、Herdのドキュメントを確認してください。

WindowsでのHerd

Windows用のインストーラーは、Herdのウェブサイトからダウンロードできます。インストールが完了したら、Herdを起動してオンボーディングプロセスを完了し、初めてHerdのUIにアクセスできます。

HerdのUIには、Herdのシステムトレイアイコンを左クリックすることでアクセスできます。右クリックすると、毎日必要なすべてのツールにアクセスできるクイックメニューが開きます。

インストール中に、Herdはホームディレクトリに%USERPROFILE%\Herdに「パークされた」ディレクトリを作成します。パークされたディレクトリ内のLaravelアプリケーションは自動的にHerdによって提供され、このディレクトリ内の任意のLaravelアプリケーションには、そのディレクトリ名を使用して.testドメインでアクセスできます。

Herdをインストールした後、新しいLaravelプロジェクトを作成する最も速い方法は、HerdにバンドルされているLaravel CLIを使用することです。始めるには、Powershellを開いて次のコマンドを実行してください:

cd ~\Herd
laravel new my-app
cd my-app
herd open

Herdの詳細については、Windows用のHerdドキュメントを確認してください。

Dockerを使用したインストール(Sailを使用)

お好みのオペレーティングシステムに関係なく、Laravelをできるだけ簡単に始められるようにしたいと考えています。そのため、ローカルマシンでLaravelプロジェクトを開発して実行するためのさまざまなオプションが用意されています。後でこれらのオプションを探求することもできますが、LaravelはSailを提供しており、これはLaravelプロジェクトをDockerを使用して実行するための組み込みのソリューションです。

Dockerは、アプリケーションやサービスを小さく軽量な「コンテナ」で実行するためのツールで、ローカルマシンにインストールされたソフトウェアや設定に干渉しません。つまり、ローカルマシンにWebサーバーやデータベースなどの複雑な開発ツールを設定する心配はありません。始めるには、Docker Desktopをインストールするだけです。

Laravel Sailは、LaravelのデフォルトのDocker設定と対話するための軽量なコマンドラインインターフェースです。Sailは、Dockerの経験がなくてもPHP、MySQL、Redisを使用してLaravelアプリケーションを構築するための素晴らしい出発点を提供します。

Note

すでに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

最後に、アプリケーションにはWebブラウザでhttp://localhostにアクセスできます。

Note

Laravel Sailの詳細を学び続けるには、その完全なドキュメントを確認してください。

WindowsでのSail

Windowsマシンで新しいLaravelアプリケーションを作成する前に、Docker Desktopをインストールしてください。次に、Windows Subsystem for Linux 2 (WSL2)がインストールされ、有効になっていることを確認してください。WSLは、Windows 10上でLinuxバイナリ実行ファイルをネイティブに実行できるようにします。WSL2のインストールと有効化方法については、Microsoftの開発者環境ドキュメントに記載されています。

Note

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

最後に、アプリケーションにはWebブラウザでhttp://localhostにアクセスできます。

Note

Laravel Sailの詳細を学び続けるには、その完全なドキュメントを確認してください。

WSL2内での開発

もちろん、WSL2インストール内に作成されたLaravelアプリケーションファイルを変更できる必要があります。これを実現するために、MicrosoftのVisual Studio Codeエディタと、Remote Development用の公式拡張機能を使用することをお勧めします。

これらのツールがインストールされたら、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

最後に、アプリケーションにはWebブラウザでhttp://localhostにアクセスできます。

Note

Laravel Sailの詳細を学び続けるには、その完全なドキュメントを確認してください。

Sailサービスの選択

新しいLaravelアプリケーションをSailを介して作成する際、withクエリ文字列変数を使用して、新しいアプリケーションのdocker-compose.ymlファイルに設定するサービスを選択できます。利用可能なサービスには、mysqlpgsqlmariadbredismemcachedmeilisearchtypesenseminioseleniummailpitが含まれます:

curl -s "https://laravel.build/example-app?with=mysql,redis" | bash

設定するサービスを指定しない場合、mysqlredismeilisearchmailpitseleniumのデフォルトスタックが設定されます。

devcontainerパラメータをURLに追加することで、デフォルトのDevcontainerをインストールするようにSailに指示できます:

curl -s "https://laravel.build/example-app?with=mysql,redis&devcontainer" | bash

IDEサポート

Laravelアプリケーションの開発には、お好きなコードエディタを自由にお使いいただけますが、PhpStormはLaravelとそのエコシステムに対して広範なサポートを提供しており、Laravel Pintも含まれています。

さらに、コミュニティがメンテナンスしているLaravel IdeaのPhpStormプラグインは、コード生成、Eloquent構文の補完、バリデーションルールの補完など、さまざまな便利なIDE拡張機能を提供しています。

次のステップ

これでLaravelプロジェクトを作成できましたが、次に何を学ぶべきか迷っているかもしれません。まず、Laravelの動作を理解するために、以下のドキュメントを読むことを強くお勧めします。

Laravelをどのように使うかによっても、次のステップは変わってきます。Laravelにはさまざまな使い方がありますが、以下ではフレームワークの主な2つの使用例を紹介します。

Note

Laravel初心者ですか?Laravel Bootcampで、フレームワークのハンズオンツアーを体験しながら、初めてのLaravelアプリケーションを構築する方法を学ぶことができます。

Laravelをフルスタックフレームワークとして使用する

Laravelはフルスタックフレームワークとして機能します。「フルスタック」フレームワークとは、Laravelを使用してアプリケーションへのリクエストをルーティングし、BladeテンプレートまたはInertiaのようなシングルページアプリケーションのハイブリッド技術を介してフロントエンドをレンダリングすることを意味します。これはLaravelを使用する最も一般的な方法であり、私たちの意見では、Laravelを使用する最も生産的な方法です。

この方法でLaravelを使用する場合、フロントエンド開発ルーティングビュー、またはEloquent ORMに関するドキュメントをチェックしてみてください。さらに、LivewireInertiaのようなコミュニティパッケージに興味があるかもしれません。これらのパッケージを使用すると、Laravelをフルスタックフレームワークとして使用しながら、シングルページJavaScriptアプリケーションが提供する多くのUIの利点を享受できます。

Laravelをフルスタックフレームワークとして使用する場合、アプリケーションのCSSとJavaScriptをViteを使用してコンパイルする方法を学ぶことも強くお勧めします。

Note

アプリケーションの構築を早めに開始したい場合は、公式のアプリケーションスターターキットのいずれかをチェックしてください。

LaravelをAPIバックエンドとして使用する

Laravelは、JavaScriptのシングルページアプリケーションやモバイルアプリケーションのAPIバックエンドとしても機能します。例えば、LaravelをNext.jsアプリケーションのAPIバックエンドとして使用することができます。このコンテキストでは、Laravelを使用してアプリケーションの認証とデータの保存/取得を提供し、キューやメール、通知などのLaravelの強力なサービスを活用することができます。

この方法でLaravelを使用する場合、ルーティングLaravel Sanctum、およびEloquent ORMに関するドキュメントをチェックしてみてください。

Note

LaravelバックエンドとNext.jsフロントエンドのスキャフォールディングを早めに開始したいですか?Laravel BreezeはAPIスタックNext.jsフロントエンド実装を提供しており、数分で開始できます。

ユーザーノート