インストール
Laravelとの出会い
Laravelは、表現力豊かでエレガントなシンタックスを持つWebアプリケーションフレームワークです。Webフレームワークは、アプリケーションを作成するための構造と出発点を提供し、私たちが細部に汗を流す間、皆さんは素晴らしいものの作成に集中できます。
Laravelは、徹底した依存性の注入、表現力豊かなデータベース抽象化レイヤー、キューとスケジュールされたジョブ、ユニットテストと統合テストなど、強力な機能を提供しながら、素晴らしい開発者体験の提供に努めています。
PHPのWebフレームワークに初めて触れる方でも、長年の経験を持つ方でも、Laravelは皆さんと共に成長できるフレームワークです。Web開発者としての第一歩を踏み出す手助けをしたり、専門知識を次のレベルに引き上げるための後押しをします。皆さんが何を構築するのか、楽しみにしています。
なぜLaravelなのか
Webアプリケーションを構築する際には、さまざまなツールやフレームワークが利用できます。しかし、私たちはLaravelがモダンなフルスタックWebアプリケーションを構築するための最良の選択であると信じています。
プログレッシブフレームワーク
私たちはLaravelを「プログレッシブ」なフレームワークと呼ぶのが好きです。それは、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のウェブサイトからHerdインストーラをダウンロードできます。インストーラは最新バージョンのPHPを自動的にダウンロードし、Macが常にバックグラウンドでNginxを実行するように設定します。
Herd for macOSは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のウェブサイトからWindows用のHerdインストーラをダウンロードできます。インストールが完了したら、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 Extensionが利用可能になりました。この拡張機能は、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に関するドキュメントを確認するとよいでしょう。