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プロジェクトを作成できます:
composer create-project laravel/laravel example-app
または、Composerを介してLaravelインストーラーをグローバルにインストールすることで新しいLaravelプロジェクトを作成できます。Laravelインストーラーを使用すると、新しいアプリケーションを作成する際に、好みのテストフレームワーク、データベース、スターターキットを選択できます:
composer global require laravel/installer
laravel new example-app
プロジェクトが作成されたら、Laravel Artisanのserve
コマンドを使用してLaravelのローカル開発サーバーを起動します:
cd example-app
php artisan serve
Artisan開発サーバーを起動すると、アプリケーションはhttp://localhost:8000でウェブブラウザからアクセス可能になります。次に、Laravelエコシステムへの次のステップを開始する準備が整いました。もちろん、データベースを構成することも考慮するかもしれません。
Laravelアプリケーションの開発を始める際に先手を打ちたい場合は、スターターキットの1つを使用することを検討してください。Laravelのスターターキットは、新しいLaravelアプリケーションのバックエンドおよびフロントエンドの認証スキャフォールディングを提供します。
初期設定
Laravelフレームワークのすべての設定ファイルは、config
ディレクトリに保存されています。各オプションは文書化されているので、ファイルを見て利用可能なオプションに慣れてください。
Laravelは、初期設定の状態でほとんど追加の設定を必要としません。開発を始める準備が整っています!ただし、config/app.php
ファイルとその文書を確認することをお勧めします。アプリケーションに応じて変更したいtimezone
やlocale
などのいくつかのオプションが含まれています。
環境に基づく設定
Laravelの設定オプションの値は、アプリケーションがローカルマシンで実行されているか、プロダクションウェブサーバーで実行されているかによって異なる場合があるため、アプリケーションのルートに存在する.env
ファイルを使用して多くの重要な設定値が定義されています。
`````.env`````ファイルと環境に基づく設定についての詳細は、完全な[設定ドキュメント](bcd08f4deb6cacce.md#environment-configuration)を確認してください。
<a name="databases-and-migrations"></a>
### データベースとマイグレーション
Laravelアプリケーションを作成したので、データをデータベースに保存したいと思うでしょう。デフォルトでは、アプリケーションの`````.env`````設定ファイルは、LaravelがSQLiteデータベースと対話することを指定しています。
プロジェクトの作成中に、Laravelは`````database/database.sqlite`````ファイルを作成し、アプリケーションのデータベーステーブルを作成するために必要なマイグレーションを実行しました。
MySQLやPostgreSQLなどの別のデータベースドライバーを使用したい場合は、`````.env`````設定ファイルを更新して適切なデータベースを使用できます。たとえば、MySQLを使用したい場合は、`````.env`````設定ファイルの`````DB_*`````変数を次のように更新します:
``````ini
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は常にウェブサーバーに設定された「ウェブディレクトリ」のルートから提供されるべきです。「ウェブディレクトリ」のサブディレクトリからLaravelアプリケーションを提供しようとしないでください。そうしようとすると、アプリケーション内に存在する機密ファイルが露出する可能性があります。
Herdを使用したローカルインストール
Laravel Herdは、macOSおよびWindows用の超高速なネイティブLaravelおよびPHP開発環境です。Herdには、Laravel開発を開始するために必要なすべてが含まれており、PHPとNginxも含まれています。
Herdをインストールすると、Laravelでの開発を開始する準備が整います。Herdには、php
、composer
、laravel
、expose
、node
、npm
、nvm
のためのコマンドラインツールが含まれています。
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を使用することです:
cd ~/Herd
laravel new my-app
cd my-app
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を開き、次のコマンドを実行します:
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
最後に、アプリケーションには次の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アプリケーションを作成するには、ターミナルで次のコマンドを実行します:
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
最後に、アプリケーションには次の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を使用している場合は、次のコマンドを実行する必要があります。このステップをスキップしても問題ありません:
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
最後に、アプリケーションには次のURLでウェブブラウザからアクセスできます:http://localhost。
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
のデフォルトスタックが構成されます。
デフォルトのDevcontainerをインストールするようSailに指示するには、URLにdevcontainer
パラメータを追加します:
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に関するドキュメントを確認することをお勧めします。また、LivewireやInertiaのようなコミュニティパッケージについて学ぶことにも興味があるかもしれません。これらのパッケージを使用すると、シングルページ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フロントエンド実装を提供しており、数分で始めることができます。