インストール¶
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プロジェクトを作成できます:
または、LaravelインストーラーをComposerを介してグローバルにインストールすることで、新しいLaravelプロジェクトを作成できます。Laravelインストーラーを使用すると、新しいアプリケーションを作成する際に、好みのテストフレームワーク、データベース、スターターキットを選択できます:
プロジェクトが作成されたら、Laravel Artisanのserve
コマンドを使用してLaravelのローカル開発サーバーを起動します:
Artisan開発サーバーを起動したら、アプリケーションはWebブラウザでhttp://localhost:8000からアクセスできます。次に、Laravelエコシステムの次のステップに進む準備が整いました。もちろん、データベースの設定も行いたいかもしれません。
Note
Laravelアプリケーションの開発を始める際に先を急ぎたい場合は、スターターキットのいずれかを使用することを検討してください。Laravelのスターターキットは、新しいLaravelアプリケーションのためのバックエンドとフロントエンドの認証スキャフォールディングを提供します。
初期設定¶
Laravelフレームワークのすべての設定ファイルは、config
ディレクトリに保存されています。各オプションにはドキュメントがあるので、ファイルを見て、利用可能なオプションに慣れ親しんでください。
Laravelは、ほとんど追加の設定を必要としません。自由に開発を始めることができます!ただし、config/app.php
ファイルとそのドキュメントを確認することをお勧めします。アプリケーションに応じて変更したいtimezone
やlocale
などのオプションが含まれています。
環境ベースの設定¶
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以外のデータベースを使用する場合は、データベースを作成し、アプリケーションのデータベースマイグレーションを実行する必要があります:
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には、php
、composer
、laravel
、expose
、node
、npm
、nvm
のコマンドラインツールが含まれています。
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
コマンドを使用します:
プロジェクトが作成されたら、Sailを起動します:
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
オプションを追加します:
IDEサポート¶
Laravelは、VS CodeやPHPStormなどの一般的なIDEをサポートしています。Laravelアプリケーションを開発する際に、これらのIDEを使用することを強くお勧めします。
次のステップ¶
Laravelアプリケーションの開発を始めたら、次のステップに進む準備が整いました。
Laravel、フルスタックフレームワーク¶
Laravelは、フルスタックフレームワークとして使用できます。Laravelを使用して、バックエンドとフロントエンドの両方を開発できます。Laravelは、バックエンドの開発に必要なすべてのツールを提供し、フロントエンドの開発に必要なツールも提供します。
Laravel、APIバックエンド¶
Laravelは、APIバックエンドとして使用できます。Laravelを使用して、フロントエンドアプリケーションのAPIバックエンドを開発できます。Laravelは、APIバックエンドの開発に必要なすべてのツールを提供します。
Herdをインストールした後、新しいLaravelプロジェクトを作成する最も速い方法は、HerdにバンドルされているLaravel CLIを使用することです。
もちろん、パークされたディレクトリやその他の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を開いて次のコマンドを実行してください:
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アプリケーションを作成するには、ターミナルで次のコマンドを実行します:
もちろん、このURLの"example-app"は好きなものに変更できますが、アプリケーション名には英数字、ダッシュ、アンダースコアのみを含めるようにしてください。Laravelアプリケーションのディレクトリは、コマンドを実行したディレクトリ内に作成されます。
Sailのインストールには、Sailのアプリケーションコンテナがローカルマシン上で構築される間、数分かかる場合があります。
プロジェクトが作成されたら、アプリケーションディレクトリに移動し、Laravel Sailを起動できます。Laravel Sailは、LaravelのデフォルトのDocker設定と対話するためのシンプルなコマンドラインインターフェースを提供します:
アプリケーションのDockerコンテナが起動したら、アプリケーションのデータベースマイグレーションを実行する必要があります:
最後に、アプリケーションには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アプリケーションを作成するには、ターミナルで次のコマンドを実行します:
もちろん、このURLの"example-app"は好きなものに変更できますが、アプリケーション名には英数字、ダッシュ、アンダースコアのみを含めるようにしてください。Laravelアプリケーションのディレクトリは、コマンドを実行したディレクトリ内に作成されます。
Sailのインストールには、Sailのアプリケーションコンテナがローカルマシン上で構築される間、数分かかる場合があります。
プロジェクトが作成されたら、アプリケーションディレクトリに移動し、Laravel Sailを起動できます。Laravel Sailは、LaravelのデフォルトのDocker設定と対話するためのシンプルなコマンドラインインターフェースを提供します:
アプリケーションのDockerコンテナが起動したら、アプリケーションのデータベースマイグレーションを実行する必要があります:
最後に、アプリケーションには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を使用していない場合は、このステップをスキップできます:
次に、"example-app"という名前のディレクトリに新しいLaravelアプリケーションを作成するには、ターミナルで次のコマンドを実行します:
もちろん、このURLの"example-app"は好きなものに変更できますが、アプリケーション名には英数字、ダッシュ、アンダースコアのみを含めるようにしてください。Laravelアプリケーションのディレクトリは、コマンドを実行したディレクトリ内に作成されます。
Sailのインストールには、Sailのアプリケーションコンテナがローカルマシン上で構築される間、数分かかる場合があります。
プロジェクトが作成されたら、アプリケーションディレクトリに移動し、Laravel Sailを起動できます。Laravel Sailは、LaravelのデフォルトのDocker設定と対話するためのシンプルなコマンドラインインターフェースを提供します:
アプリケーションのDockerコンテナが起動したら、アプリケーションのデータベースマイグレーションを実行する必要があります:
最後に、アプリケーションにはWebブラウザでhttp://localhostにアクセスできます。
Note
Laravel Sailの詳細を学び続けるには、その完全なドキュメントを確認してください。
Sailサービスの選択¶
新しいLaravelアプリケーションをSailを介して作成する際、with
クエリ文字列変数を使用して、新しいアプリケーションのdocker-compose.yml
ファイルに設定するサービスを選択できます。利用可能なサービスには、mysql
、pgsql
、mariadb
、redis
、memcached
、meilisearch
、typesense
、minio
、selenium
、mailpit
が含まれます:
設定するサービスを指定しない場合、mysql
、redis
、meilisearch
、mailpit
、selenium
のデフォルトスタックが設定されます。
devcontainer
パラメータをURLに追加することで、デフォルトのDevcontainerをインストールするようにSailに指示できます:
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に関するドキュメントをチェックしてみてください。さらに、LivewireやInertiaのようなコミュニティパッケージに興味があるかもしれません。これらのパッケージを使用すると、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フロントエンド実装を提供しており、数分で開始できます。