インストール
Laravelとの出会い
Laravelは、表現力豊かでエレガントなシンタックスを持つWebアプリケーションフレームワークです。Webフレームワークは、アプリケーションを作成するための構造と出発点を提供し、開発者は素晴らしいものの作成に集中でき、私たちは細部の面倒をみます。
Laravelは、徹底した依存性の注入、表現力豊かなデータベース抽象化レイヤー、キューとスケジュールされたジョブ、ユニットテストと統合テストなど、強力な機能を提供しながら、素晴らしい開発者エクスペリエンスを提供できるよう努めています。
PHPのWebフレームワークに慣れていない方でも、長年の経験を持つ方でも、Laravelはあなたと共に成長できるフレームワークです。Web開発者としての第一歩を踏み出す手助けをしたり、専門知識を次のレベルに引き上げるときに後押しをします。皆さんが何を構築するのか、楽しみにしています。
なぜLaravelなのか
Webアプリケーションを構築する際に利用できるさまざまなツールやフレームワークがあります。しかし、私たちはLaravelがモダンでフルスタックなWebアプリケーションを構築するための最良の選択であると信じています。
先進的なフレームワーク
私たちはLaravelを「先進的な(progressive)」フレームワークと呼んでいます。これは、Laravelがあなたと共に成長することを意味しています。Web開発の第一歩を踏み出したばかりなら、Laravelの豊富なドキュメント、ガイド、ビデオチュートリアルのライブラリが、圧倒されることなく基本を学ぶのに役立ちます。
シニア開発者であれば、Laravelは依存性の注入、ユニットテスト、キュー、リアルタイムイベントなどのための堅牢なツールを提供します。LaravelはプロフェッショナルなWebアプリケーションを構築するために微調整されており、エンタープライズの作業負荷に対応する準備ができています。
スケーラブルなフレームワーク
Laravelは非常にスケーラブルです。PHPのスケーリングに適した性質と、Redisのような高速な分散キャッシュシステムへのLaravelの組み込みサポートのおかげで、Laravelでの水平スケーリングは簡単です。実際、Laravelアプリケーションは、月間数億のリクエストを処理するように簡単にスケーリングされています。
極端なスケーリングが必要ですか?Laravel Cloudのようなプラットフォームを利用すれば、Laravelアプリケーションをほぼ無限の規模で実行できます。
コミュニティフレームワーク
LaravelはPHPエコシステムで最高のパッケージを組み合わせ、最も堅牢で開発者に優しいフレームワークを提供しています。さらに、世界中の何千人もの才能ある開発者がフレームワークに貢献してきました。もしかしたら、あなたもLaravelの貢献者になるかもしれません。
Laravelアプリケーションの作成
PHPとLaravelインストーラのインストール
最初のLaravelアプリケーションを作成する前に、ローカルマシンにPHP、Composer、そしてLaravelインストーラがインストールされていることを確認してください。さらに、アプリケーションのフロントエンドアセットをコンパイルするために、NodeとNPM、またはBunのいずれかをインストールする必要があります。
ローカルマシンにPHPとComposerがインストールされていない場合、以下のコマンドでmacOS、Windows、またはLinuxにPHP、Composer、Laravelインストーラをインストールします。
1/bin/bash -c "$(curl -fsSL https://php.new/install/mac/8.4)"
1# Run as administrator...2Set-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.4'))
1/bin/bash -c "$(curl -fsSL https://php.new/install/linux/8.4)"
上記のコマンドのいずれかを実行した後、ターミナルセッションを再起動する必要があります。php.new経由でインストールした後にPHP、Composer、Laravelインストーラを更新するには、ターミナルでコマンドを再実行してください。
すでにPHPとComposerがインストールされている場合は、Composer経由でLaravelインストーラをインストールできます。
1composer global require laravel/installer
フル機能のグラフィカルなPHPインストールおよび管理エクスペリエンスについては、Laravel Herdをご覧ください。
アプリケーションの作成
PHP、Composer、Laravelインストーラをインストールしたら、新しいLaravelアプリケーションを作成する準備ができました。Laravelインストーラは、お好みのテストフレームワーク、データベース、スターターキットを選択するように促します。
1laravel new example-app
アプリケーションが作成されたら、dev Composerスクリプトを使用して、Laravelのローカル開発サーバ、キューワーカ、Vite開発サーバを起動できます。
1cd example-app2npm install && npm run build3composer run dev
開発サーバを起動すると、Webブラウザでhttps://:8000からアプリケーションにアクセスできるようになります。次に、Laravelエコシステムへの次のステップに進む準備ができました。もちろん、データベースの設定も行いたいでしょう。
Laravelアプリケーションの開発をすぐに始めたい場合は、私たちのスターターキットのいずれかを使用することを検討してください。Laravelのスターターキットは、新しいLaravelアプリケーションのためのバックエンドとフロントエンドの認証スカフォールドを提供します。
初期設定
Laravelフレームワークのすべての設定ファイルはconfigディレクトリに保存されています。各オプションにはドキュメントが付いているので、ファイルを自由に見て、利用可能なオプションに慣れてください。
Laravelは、箱から出してすぐに使える状態で、追加の設定はほとんど必要ありません。すぐに開発を始めることができます!しかし、config/app.phpファイルとそのドキュメントを確認することをお勧めします。これには、アプリケーションに応じて変更したいurlやlocaleなどのいくつかのオプションが含まれています。
環境ベースの設定
Laravelの設定オプションの値の多くは、アプリケーションがローカルマシンで実行されているか、本番Webサーバで実行されているかによって異なる場合があるため、多くの重要な設定値は、アプリケーションのルートに存在する.envファイルを使用して定義されます。
.envファイルはアプリケーションのソース管理にコミットしないでください。アプリケーションを使用する各開発者/サーバが異なる環境設定を必要とする可能性があるためです。さらに、侵入者がソース管理リポジトリへのアクセス権を取得した場合、機密性の高い資格情報が公開されるため、これはセキュリティリスクになります。
.envファイルと環境ベースの設定に関する詳細については、完全な設定ドキュメントを確認してください。
データベースとマイグレーション
Laravelアプリケーションを作成したので、おそらくデータベースにデータを保存したいと思うでしょう。デフォルトでは、アプリケーションの.env設定ファイルは、LaravelがSQLiteデータベースとやり取りすることを指定しています。
アプリケーションの作成中に、Laravelはdatabase/database.sqliteファイルを作成し、アプリケーションのデータベーステーブルを作成するために必要なマイグレーションを実行しました。
MySQLやPostgreSQLなどの他のデータベースドライバを使用したい場合は、.env設定ファイルを更新して、適切なデータベースを使用するようにできます。たとえば、MySQLを使用したい場合は、.env設定ファイルのDB_*変数を次のように更新します。
1DB_CONNECTION=mysql2DB_HOST=127.0.0.13DB_PORT=33064DB_DATABASE=laravel5DB_USERNAME=root6DB_PASSWORD=
SQLite以外のデータベースを使用することを選択した場合は、データベースを作成し、アプリケーションのデータベースマイグレーションを実行する必要があります。
1php 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には、php、composer、laravel、expose、node、npm、nvmのコマンドラインツールが含まれています。
Herd Proは、ローカルのMySQL、Postgres、Redisデータベースの作成と管理、ローカルのメール表示、ログ監視など、さらに強力な機能でHerdを強化します。
macOSでのHerd
macOSで開発している場合は、HerdのWebサイトからHerdインストーラをダウンロードできます。インストーラは最新バージョンのPHPを自動的にダウンロードし、Macが常にNginxをバックグラウンドで実行するように設定します。
macOS用のHerdは、dnsmasqを使用して「パーク」されたディレクトリをサポートします。パークされたディレクトリ内のLaravelアプリケーションは、Herdによって自動的に提供されます。デフォルトでは、Herdは~/Herdにパークされたディレクトリを作成し、このディレクトリ内の任意のLaravelアプリケーションに、そのディレクトリ名を使用して.testドメインでアクセスできます。
Herdをインストールした後、新しいLaravelアプリケーションを作成する最も速い方法は、HerdにバンドルされているLaravel CLIを使用することです。
1cd ~/Herd2laravel new my-app3cd my-app4herd open
もちろん、システムトレイのHerdメニューから開くことができるHerdのUIを介して、パークされたディレクトリやその他のPHP設定をいつでも管理できます。
Herdのドキュメントを確認することで、Herdについてさらに詳しく学ぶことができます。
WindowsでのHerd
HerdのWebサイトからHerdのWindowsインストーラをダウンロードできます。インストールが完了したら、Herdを起動してオンボーディングプロセスを完了し、初めてHerd UIにアクセスできます。
Herd UIは、Herdのシステムトレイアイコンを左クリックすることでアクセスできます。右クリックすると、日常的に必要なすべてのツールにアクセスできるクイックメニューが開きます。
インストール中に、Herdはホームディレクトリの%USERPROFILE%\Herdに「パーク」されたディレクトリを作成します。パークされたディレクトリ内のLaravelアプリケーションはHerdによって自動的に提供され、このディレクトリ内の任意のLaravelアプリケーションに、そのディレクトリ名を使用して.testドメインでアクセスできます。
Herdをインストールした後、新しいLaravelアプリケーションを作成する最も速い方法は、HerdにバンドルされているLaravel CLIを使用することです。始めるには、Powershellを開いて次のコマンドを実行します。
1cd ~\Herd2laravel new my-app3cd my-app4herd open
Windows用のHerdドキュメントを確認することで、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アプリケーションを作成するには、ターミナルで次のコマンドを実行します。
1curl -s "https://laravel.build/example-app" | bash
もちろん、このURLの「example-app」を好きな名前に変更できます。アプリケーション名には英数字、ダッシュ、アンダースコアのみが含まれるようにしてください。Laravelアプリケーションのディレクトリは、コマンドを実行したディレクトリ内に作成されます。
Sailのアプリケーションコンテナがローカルマシンに構築される間、Sailのインストールには数分かかる場合があります。
アプリケーションが作成されたら、アプリケーションディレクトリに移動してLaravel Sailを起動できます。Laravel Sailは、LaravelのデフォルトのDocker設定とやり取りするためのシンプルなコマンドラインインターフェイスを提供します。
1cd example-app2 3./vendor/bin/sail up
アプリケーションのDockerコンテナが起動したら、アプリケーションのデータベースマイグレーションを実行する必要があります。
1./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アプリケーションを作成するには、ターミナルで次のコマンドを実行します。
1curl -s https://laravel.build/example-app | bash
もちろん、このURLの「example-app」を好きな名前に変更できます。アプリケーション名には英数字、ダッシュ、アンダースコアのみが含まれるようにしてください。Laravelアプリケーションのディレクトリは、コマンドを実行したディレクトリ内に作成されます。
Sailのアプリケーションコンテナがローカルマシンに構築される間、Sailのインストールには数分かかる場合があります。
アプリケーションが作成されたら、アプリケーションディレクトリに移動してLaravel Sailを起動できます。Laravel Sailは、LaravelのデフォルトのDocker設定とやり取りするためのシンプルなコマンドラインインターフェイスを提供します。
1cd example-app2 3./vendor/bin/sail up
アプリケーションのDockerコンテナが起動したら、アプリケーションのデータベースマイグレーションを実行する必要があります。
1./vendor/bin/sail artisan migrate
最後に、Webブラウザでアプリケーションにアクセスできます: https://。
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を使用していない場合は、この手順をスキップできます。
1docker context use default
次に、「example-app」という名前のディレクトリに新しいLaravelアプリケーションを作成するには、ターミナルで次のコマンドを実行します。
1curl -s https://laravel.build/example-app | bash
もちろん、このURLの「example-app」を好きな名前に変更できます。アプリケーション名には英数字、ダッシュ、アンダースコアのみが含まれるようにしてください。Laravelアプリケーションのディレクトリは、コマンドを実行したディレクトリ内に作成されます。
Sailのアプリケーションコンテナがローカルマシンに構築される間、Sailのインストールには数分かかる場合があります。
アプリケーションが作成されたら、アプリケーションディレクトリに移動してLaravel Sailを起動できます。Laravel Sailは、LaravelのデフォルトのDocker設定とやり取りするためのシンプルなコマンドラインインターフェイスを提供します。
1cd example-app2 3./vendor/bin/sail up
アプリケーションのDockerコンテナが起動したら、アプリケーションのデータベースマイグレーションを実行する必要があります。
1./vendor/bin/sail artisan migrate
最後に、Webブラウザでアプリケーションにアクセスできます: https://。
Laravel Sailについてさらに詳しく学び続けるには、その完全なドキュメントを確認してください。
Sailサービスの選択
Sailを介して新しいLaravelアプリケーションを作成する場合、withクエリ文字列変数を使用して、新しいアプリケーションのdocker-compose.ymlファイルで設定するサービスを選択できます。利用可能なサービスには、mysql、pgsql、mariadb、redis、valkey、memcached、meilisearch、typesense、minio、selenium、mailpitがあります。
1curl -s "https://laravel.build/example-app?with=mysql,redis" | bash
設定したいサービスを指定しない場合、mysql、redis、meilisearch、mailpit、seleniumのデフォルトスタックが設定されます。
URLにdevcontainerパラメータを追加することで、SailにデフォルトのDevcontainerをインストールするように指示できます。
1curl -s "https://laravel.build/example-app?with=mysql,redis&devcontainer" | bash
IDEのサポート
Laravelアプリケーションを開発する際には、お好きなコードエディタを自由に使用できます。しかし、PhpStormは、Laravel Pintを含む、Laravelとそのエコシステムに対する広範なサポートを提供しています。
さらに、コミュニティによってメンテナンスされているLaravel Idea PhpStormプラグインは、コード生成、Eloquentシンタックス補完、バリデーションルール補完など、さまざまな便利なIDE拡張機能を提供します。
Visual Studio Code (VS Code)で開発している場合、公式のLaravel VS Code拡張機能が利用可能になりました。この拡張機能は、Laravel固有のツールをVS Code環境に直接もたらし、生産性を向上させます。
次のステップ
Laravelアプリケーションを作成したので、次に何を学ぶべきか疑問に思うかもしれません。まず、以下のドキュメントを読んで、Laravelがどのように機能するかをよく理解することを強くお勧めします。
Laravelをどのように使用したいかによって、あなたの旅の次のステップも決まります。Laravelを使用するにはさまざまな方法があり、以下でフレームワークの2つの主要なユースケースを探ります。
フルスタックフレームワークとしてのLaravel
Laravelはフルスタックフレームワークとして機能します。「フルスタック」フレームワークとは、Laravelを使用してアプリケーションへのリクエストをルーティングし、BladeテンプレートやInertiaのようなシングルページアプリケーションハイブリッド技術を介してフロントエンドをレンダリングすることを意味します。これはLaravelフレームワークを使用する最も一般的な方法であり、私たちの意見では、Laravelを使用する最も生産的な方法です。
これがLaravelを使用する予定の方法である場合、フロントエンド開発、ルーティング、ビュー、またはEloquent ORMに関するドキュメントを確認することをお勧めします。さらに、LivewireやInertiaのようなコミュニティパッケージについて学ぶことに興味があるかもしれません。これらのパッケージを使用すると、シングルページJavaScriptアプリケーションが提供するUIの利点の多くを享受しながら、Laravelをフルスタックフレームワークとして使用できます。
Laravelをフルスタックフレームワークとして使用している場合は、Viteを使用してアプリケーションのCSSとJavaScriptをコンパイルする方法を学ぶことを強くお勧めします。
アプリケーションの構築をすぐに始めたい場合は、公式のアプリケーションスターターキットのいずれかを確認してください。
APIバックエンドとしてのLaravel
Laravelは、JavaScriptのシングルページアプリケーションやモバイルアプリケーションのAPIバックエンドとしても機能します。たとえば、Next.jsアプリケーションのAPIバックエンドとしてLaravelを使用することができます。この文脈では、Laravelを使用してアプリケーションの認証とデータの保存/取得を提供し、同時にキュー、メール、通知などのLaravelの強力なサービスを活用することができます。
これがLaravelを使用する予定の方法である場合、ルーティング、Laravel Sanctum、およびEloquent ORMに関するドキュメントを確認することをお勧めします。