インストール
Laravelについて
Laravelは、表現力豊かでエレガントな構文を持つWebアプリケーションフレームワークです。Webフレームワークは、アプリケーションを作成するための構造と開始点を提供し、細部にこだわった作業は私たちに任せて、ユーザーは素晴らしいものを作成することに集中できます。
Laravelは、徹底的な依存性注入、表現力豊かなデータベース抽象化レイヤー、キューとスケジュールされたジョブ、ユニットテストと統合テストなど、強力な機能を提供しながら、素晴らしい開発者エクスペリエンスを提供することを目指しています。
PHP Webフレームワークの初心者でも、長年の経験があっても、Laravelはユーザーと共に成長できるフレームワークです。Web開発者として最初の一歩を踏み出すお手伝いをしたり、専門知識を次のレベルに進める際のブーストを提供したりします。私たちが構築するものを楽しみにしています。
Laravelを初めて使用しますか? Laravel Bootcamp をチェックして、最初のLaravelアプリケーションの構築を説明しながら、フレームワークのハンズオンツアーに参加してください。
なぜ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ブラウザでhttps://:8000にアクセスできるようになります。次に、Laravelエコシステムに次のステップを踏み出す準備ができました。もちろん、データベースを設定することもできます。
Laravelアプリケーションの開発時にすぐに開始したい場合は、スターターキットのいずれかを使用することを検討してください。Laravelのスターターキットは、新しいLaravelアプリケーションのバックエンドとフロントエンドの認証スキャフォールディングを提供します。
初期設定
Laravelフレームワークのすべての設定ファイルは、config
ディレクトリに保存されています。各オプションはドキュメント化されているため、自由にファイルを見て、利用可能なオプションを理解してください。
Laravelは、ほとんど追加設定なしですぐに使用できます。開発を開始できます。ただし、config/app.php
ファイルとそのドキュメントを確認することをお勧めします。アプリケーションに応じて変更する可能性のあるtimezone
やlocale
などのいくつかのオプションが含まれています。
環境ベースの設定
Laravelの多くの設定オプションの値は、アプリケーションがローカルマシンで実行されているか、本番Webサーバーで実行されているかによって異なる可能性があるため、多くの重要な設定値は、アプリケーションのルートに存在する.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は常に、Webサーバー用に設定された「Webディレクトリ」のルートから提供される必要があります。「Webディレクトリ」のサブディレクトリから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 Webサイトから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のWindowsインストーラーは、Herd Webサイトからダウンロードできます。インストールが完了したら、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は、ローカルマシンにインストールされているソフトウェアや構成に干渉しない、小さく軽量な「コンテナ」でアプリケーションとサービスを実行するためのツールです。つまり、ローカルマシンでWebサーバーやデータベースなどの複雑な開発ツールを構成したり、セットアップしたりする必要はありません。開始するには、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ブラウザーでhttps://にアクセスして、アプリケーションにアクセスできます。
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ブラウザーでhttps://にアクセスして、アプリケーションにアクセスできます。
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
最後に、Webブラウザーでhttps://にアクセスして、アプリケーションにアクセスできます。
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
パラメーターを追加することにより、デフォルトのDevcontainerをインストールするようにSailに指示できます。
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 Bootcamp をチェックして、最初のLaravelアプリケーションの構築を説明しながら、フレームワークのハンズオンツアーに参加してください。
フルスタックフレームワークとしてのLaravel
Laravelはフルスタックフレームワークとして機能します。「フルスタック」フレームワークとは、Laravelを使用してアプリケーションへのリクエストをルーティングし、Bladeテンプレート、またはInertiaのようなシングルページアプリケーションのハイブリッド技術を使用してフロントエンドをレンダリングすることを意味します。これはLaravelフレームワークの最も一般的な使用方法であり、私たちの意見では、Laravelを使用する最も生産的な方法です。
もしこの方法でLaravelを使用する予定であれば、フロントエンド開発、ルーティング、ビュー、またはEloquent ORMに関するドキュメントを確認することをお勧めします。さらに、LivewireやInertiaのようなコミュニティパッケージについても学習することに興味があるかもしれません。これらのパッケージを使用すると、シングルページのJavaScriptアプリケーションによって提供される多くのUIの利点を享受しながら、Laravelをフルスタックフレームワークとして使用できます。
もしLaravelをフルスタックフレームワークとして使用している場合、Viteを使用してアプリケーションのCSSとJavaScriptをコンパイルする方法を学習することを強くお勧めします。
アプリケーションの構築をすぐに開始したい場合は、公式のアプリケーションスターターキットのいずれかを確認してください。
APIバックエンドとしてのLaravel
Laravelは、JavaScriptシングルページアプリケーションまたはモバイルアプリケーションのAPIバックエンドとしても機能します。たとえば、LaravelをNext.jsアプリケーションのAPIバックエンドとして使用することができます。このコンテキストでは、Laravelを使用してアプリケーションの認証およびデータストレージ/取得を提供できます。同時に、キュー、メール、通知など、Laravelの強力なサービスも利用できます。
もしこの方法でLaravelを使用する予定であれば、ルーティング、Laravel Sanctum、およびEloquent ORMに関するドキュメントを確認することをお勧めします。
LaravelバックエンドとNext.jsフロントエンドをすぐにスキャフォールディングしたいですか?Laravel Breezeは、APIスタックとNext.jsフロントエンドの実装を提供しており、数分で開始できます。