メインコンテンツまでスキップ

インストール

Laravel を知る

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

Laravel は、徹底的な依存性の注入、表現力豊かなデータベース抽象化レイヤー、キューとスケジュールされたジョブ、ユニットテストと統合テストなど、強力な機能を提供しながら、素晴らしい開発者体験を提供しようと努めています。

PHP Web フレームワークが初めての方でも、長年の経験がある方でも、Laravel はあなたと共に成長できるフレームワークです。私たちは、Web 開発者として最初のステップを踏み出すのを手助けしたり、スキルを次のレベルに引き上げるのを手伝ったりします。あなたが何を構築するかを楽しみにしています。

注記

Laravel 初心者ですか?フレームワークのハンズオンツアーを体験するために Laravel Bootcamp をチェックしてください。私たちは、最初の Laravel アプリケーションの構築を歩みながら、フレームワークのツアーをご案内します。

なぜ Laravel を選ぶのか?

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

進歩的なフレームワーク

私たちはLaravelを「進歩的な」フレームワークと呼んでいます。それは、Laravelがあなたと共に成長することを意味しています。Web開発の最初のステップを踏み出しているだけであれば、Laravelの広範囲なドキュメント、ガイド、およびビデオチュートリアルが、あなたが困惑することなくロープを学ぶのに役立ちます。

シニア開発者であれば、Laravelは依存性注入ユニットテストキューリアルタイムイベントなどの堅牢なツールを提供します。Laravelは、プロのWebアプリケーションを構築するために最適化されており、エンタープライズのワークロードを処理する準備ができています。

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

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

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

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

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

Laravelプロジェクトの作成

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

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

composer create-project laravel/laravel example-app

または、Laravel インストーラー を Composer を介してグローバルにインストールして新しい 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 エコシステムへの次のステップを始める準備が整いました。もちろん、データベースの設定 も行いたいかもしれません。

注記

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

初期設定

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

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

環境ベースの設定

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

.env ファイルは、各開発者/サーバーが異なる環境設定を必要とする可能性があるため、アプリケーションのソースコントロールにコミットされてはいけません。さらに、これはセキュリティリスクとなります。侵入者がソースコントロールリポジトリにアクセスできる場合、機密情報が公開される可能性があるためです。

注記

.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
注記

macOSやWindowsで開発を行い、ローカルにMySQL、PostgreSQL、またはRedisをインストールする必要がある場合は、Herd Proをご検討ください。

ディレクトリ構成

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

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

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

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

注記

macOSでのHerd

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

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

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

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

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

Herdのドキュメントをチェックすることで、Herdについてさらに詳しく学ぶことができます。

WindowsでのHerd

Windows向けのHerdインストーラーは、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について詳しく学ぶことができます。

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

最後に、Webブラウザでアプリケーションにアクセスできます: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

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

注記

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。

注記

Laravel Sailについてさらに学習するには、完全なドキュメントを参照してください。

Sailサービスの選択

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

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

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

SailにデフォルトのDevcontainerをインストールするように指示するには、URLに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の使用方法にはさまざまな方法があり、以下ではフレームワークの主要な使用ケースを2つ探っていきます。

注記

Laravel初心者ですか?最初のLaravelアプリケーションの構築を進めながら、フレームワークの実践的なツアーをご覧になりたい場合は、Laravel Bootcampをチェックしてください。

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

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

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

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

注記

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

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

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

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

注記

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