Laravelを知ろう

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

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

PHPウェブフレームワークに不慣れな方でも、長年の経験がある方でも、Laravelはあなたと共に成長できるフレームワークです。ウェブ開発者としての第一歩を踏み出す手助けをしたり、専門知識を次のレベルに引き上げるためのブーストを提供します。あなたが何を作るのか、私たちは待ちきれません。

Laravelに不慣れですか?最初のLaravelアプリケーションを構築する際にフレームワークを体験できるLaravel Bootcampをチェックしてください。

なぜLaravelなのか?

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

進化するフレームワーク

私たちはLaravelを「進化する」フレームワークと呼ぶのが好きです。つまり、Laravelはあなたと共に成長します。ウェブ開発に初めて足を踏み入れる場合でも、Laravelの膨大なドキュメント、ガイド、ビデオチュートリアルが、圧倒されることなく学ぶ手助けをします。

シニア開発者であれば、Laravelは依存性注入ユニットテストキューリアルタイムイベントなどのための堅牢なツールを提供します。Laravelはプロフェッショナルなウェブアプリケーションを構築するために微調整されており、エンタープライズの作業負荷を処理する準備が整っています。

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

Laravelは非常にスケーラブルです。PHPのスケーリングに優しい特性と、Redisのような高速で分散型のキャッシュシステムに対するLaravelの組み込みサポートのおかげで、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プロジェクトを作成できます:

  1. composer create-project laravel/laravel example-app

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

  1. composer global require laravel/installer
  2. laravel new example-app

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

  1. cd example-app
  2. php artisan serve

Artisan開発サーバーを起動すると、アプリケーションはhttp://localhost:8000でウェブブラウザからアクセス可能になります。次に、Laravelエコシステムへの次のステップを開始する準備が整いました。もちろん、データベースを構成することも考慮するかもしれません。

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

初期設定

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

Laravelは、初期設定の状態でほとんど追加の設定を必要としません。開発を始める準備が整っています!ただし、config/app.phpファイルとその文書を確認することをお勧めします。アプリケーションに応じて変更したいtimezonelocaleなどのいくつかのオプションが含まれています。

環境に基づく設定

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

  1. `````.env`````ファイルと環境に基づく設定についての詳細は、完全な[設定ドキュメント](bcd08f4deb6cacce.md#environment-configuration)を確認してください。
  2. <a name="databases-and-migrations"></a>
  3. ### データベースとマイグレーション
  4. Laravelアプリケーションを作成したので、データをデータベースに保存したいと思うでしょう。デフォルトでは、アプリケーションの`````.env`````設定ファイルは、LaravelSQLiteデータベースと対話することを指定しています。
  5. プロジェクトの作成中に、Laravel`````database/database.sqlite`````ファイルを作成し、アプリケーションのデータベーステーブルを作成するために必要なマイグレーションを実行しました。
  6. MySQLPostgreSQLなどの別のデータベースドライバーを使用したい場合は、`````.env`````設定ファイルを更新して適切なデータベースを使用できます。たとえば、MySQLを使用したい場合は、`````.env`````設定ファイルの`````DB_*`````変数を次のように更新します:
  7. ``````ini
  8. DB_CONNECTION=mysql
  9. DB_HOST=127.0.0.1
  10. DB_PORT=3306
  11. DB_DATABASE=laravel
  12. DB_USERNAME=root
  13. DB_PASSWORD=
  14. `

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

  1. php artisan migrate

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

ディレクトリ設定

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

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

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

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

Herd Proは、ローカルのMySQL、Postgres、Redisデータベースを作成および管理する機能、ローカルメールの表示、ログの監視などの追加の強力な機能でHerdを拡張します。

macOSでのHerd

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

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

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

  1. cd ~/Herd
  2. laravel new my-app
  3. cd my-app
  4. herd open

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

Herdについて詳しく知りたい場合は、Herdドキュメントを確認してください。

WindowsでのHerd

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

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

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

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

  1. cd ~\Herd
  2. laravel new my-app
  3. cd my-app
  4. 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アプリケーションを作成するには、ターミナルで次のコマンドを実行します:

  1. curl -s "https://laravel.build/example-app" | bash

もちろん、このURLの「example-app」を好きな名前に変更できます。ただし、アプリケーション名には英数字、ダッシュ、アンダースコアのみを含めるようにしてください。Laravelアプリケーションのディレクトリは、コマンドを実行したディレクトリ内に作成されます。

Sailのインストールには、Sailのアプリケーションコンテナがローカルマシンで構築されるまで数分かかる場合があります。

プロジェクトが作成されたら、アプリケーションディレクトリに移動し、Laravel Sailを起動できます。Laravel Sailは、LaravelのデフォルトのDocker設定と対話するためのシンプルなコマンドラインインターフェースを提供します:

  1. cd example-app
  2. ./vendor/bin/sail up

アプリケーションのDockerコンテナが起動したら、アプリケーションのデータベースマイグレーションを実行する必要があります:

  1. ./vendor/bin/sail artisan migrate

最後に、アプリケーションには次のURLでウェブブラウザからアクセスできます: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アプリケーションを作成するには、ターミナルで次のコマンドを実行します:

  1. curl -s https://laravel.build/example-app | bash

もちろん、このURLの「example-app」を好きな名前に変更できます。ただし、アプリケーション名には英数字、ダッシュ、アンダースコアのみを含めるようにしてください。Laravelアプリケーションのディレクトリは、コマンドを実行したディレクトリ内に作成されます。

Sailのインストールには、Sailのアプリケーションコンテナがローカルマシンで構築されるまで数分かかる場合があります。

プロジェクトが作成されたら、アプリケーションディレクトリに移動し、Laravel Sailを起動できます。Laravel Sailは、LaravelのデフォルトのDocker設定と対話するためのシンプルなコマンドラインインターフェースを提供します:

  1. cd example-app
  2. ./vendor/bin/sail up

アプリケーションのDockerコンテナが起動したら、アプリケーションのデータベースマイグレーションを実行する必要があります:

  1. ./vendor/bin/sail artisan migrate

最後に、アプリケーションには次のURLでウェブブラウザからアクセスできます:http://localhost

Laravel Sailについてさらに学ぶには、その完全なドキュメントを確認してください。

WSL2内での開発

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

これらのツールをインストールしたら、Windows Terminalを使用してアプリケーションのルートディレクトリからcode .コマンドを実行することで、任意のLaravelプロジェクトを開くことができます。

LinuxでのSail

Linuxで開発していて、Docker Composeがすでにインストールされている場合は、シンプルなターミナルコマンドを使用して新しいLaravelプロジェクトを作成できます。

まず、Linux用のDocker Desktopを使用している場合は、次のコマンドを実行する必要があります。このステップをスキップしても問題ありません:

  1. docker context use default

次に、「example-app」という名前のディレクトリに新しいLaravelアプリケーションを作成するには、ターミナルで次のコマンドを実行します:

  1. curl -s https://laravel.build/example-app | bash

もちろん、このURLの「example-app」を好きな名前に変更できます。ただし、アプリケーション名には英数字、ダッシュ、アンダースコアのみを含めるようにしてください。Laravelアプリケーションのディレクトリは、コマンドを実行したディレクトリ内に作成されます。

Sailのインストールには、Sailのアプリケーションコンテナがローカルマシンで構築されるまで数分かかる場合があります。

プロジェクトが作成されたら、アプリケーションディレクトリに移動し、Laravel Sailを起動できます。Laravel Sailは、LaravelのデフォルトのDocker設定と対話するためのシンプルなコマンドラインインターフェースを提供します:

  1. cd example-app
  2. ./vendor/bin/sail up

アプリケーションのDockerコンテナが起動したら、アプリケーションのデータベースマイグレーションを実行する必要があります:

  1. ./vendor/bin/sail artisan migrate

最後に、アプリケーションには次のURLでウェブブラウザからアクセスできます:http://localhost

Laravel Sailについてさらに学ぶには、その完全なドキュメントを確認してください。

Sailサービスの選択

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

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

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

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

  1. 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つの主要な使用ケースを探ります。

Laravelに不慣れですか?最初のLaravelアプリケーションを構築する際にフレームワークを体験できるLaravel Bootcampをチェックしてください。

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

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

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

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

アプリケーションの構築を先手を打ちたい場合は、公式のアプリケーションスターターキットの1つをチェックしてください。

LaravelはAPIバックエンド

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

このようにLaravelを使用する予定の場合は、ルーティングLaravel Sanctum、およびEloquent ORMに関するドキュメントを確認することをお勧めします。

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