Laravel 10.x インストール

Laravelとの出会い

Laravelは、表現力豊かでエレガントな構文を備えたWebアプリケーションフレームワークです。Webフレームワークは、アプリケーションを作成するための構造と開始点を提供します。これにより、細部に気を配りながら、すばらしいものの作成に集中できます。

Laravelは、すばらしい開発者エクスペリエンスの提供に努めています。同時に完全な依存注入、表現力豊かなデータベース抽象化レイヤー、キューとジョブのスケジュール、ユニットと統合テストなど、強力な機能もLaravelは提供しています。

PHP Webフレームワークをはじめて使用する場合も、長年の経験を持っている場合でも、Laravelは一緒に成長できるフレームワークです。私たちは皆さんがWeb開発者として最初の一歩を踏み出すのを支援したり、専門知識を次のレベルに引き上げる後押しをしたりしています。あなたが何を作り上げるのか楽しみにしています。

[!NOTE] Laravelは初めてですか?Laravel Bootcampでは、Laravelのフレームワークを実際に体験しながら、Laravelアプリケーションを構築できます。

なぜLaravelなのか?

Webアプリケーションを構築するときに利用できるさまざまなツールとフレームワークがあります。そうした状況でも、Laravelは最新のフルスタックWebアプリケーションを構築するために最良の選択であると私たちは信じています。

前進するフレームワーク

私たちはLaravelを「進歩的な」フレームワークと呼んでいます。つまり、Laravelはあなたと一緒に成長するという意味です。もしあなたが、Web開発の最初の一歩を踏み出したばかりの方であれば、Laravelの膨大なドキュメント、ガイド、およびビデオチュートリアルのライブラリが、圧倒されず骨子を学ぶのに役立つでしょう。

開発の上級者でしたら、Laravelの依存注入単体テストキューリアルタイムイベントなど堅牢なツールが役立つでしょう。Laravelは、プロフェッショナルなWebアプリケーションを構築するため調整してあり、エンタープライズにおける作業負荷を処理する準備ができています。

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

Laravelは素晴らしくスケーラブルです。PHPのスケーリングに適した基本の性質と、Redisなど高速な分散キャッシュシステムに対するLaravelの組み込み済みサポートにより、Laravelを使用した水平スケーリングは簡単です。実際、Laravelアプリケーションは、月あたり数億のリクエストを処理するよう簡単に拡張できます。

極端なスケーリングが必要ですか? Laravel Vaporのようなプラットフォームを使用すると、AWSの最新のサーバレステクノロジーでほぼ無制限の規模でLaravelアプリケーションを実行できます。

コミュニティによるフレームワーク

LaravelはPHPエコシステムで最高のパッケージを組み合わせ、もっとも堅牢で開発者に優しいフレームワークとして使用できるように提供しています。さらに、世界中の何千人もの才能ある開発者がフレームワークに貢献しています。多分あなたもLaravelの貢献者になるかもしれませんね。

Laravelプロジェクトの作成

最初のLaravelプロジェクトを作成する前に、ローカルマシンにPHPとComposerを確実にインストールしてください。macOSで開発している場合、PHPとComposerはLaravel Herdを介して数分でインストールできます。さらに、NodeとNPMのインストールも推奨します。

PHPとComposerをインストールしたら、Composerのcreate-projectコマンドで新しいLaravelプロジェクトを作成してください。

composer create-project laravel/laravel example-app

もしくは、Composerを使い、Laravelインストーラをグローバルにインストールして、新しいLaravelプロジェクトを作成することもできます。

composer global require laravel/installer

laravel new example-app

プロジェクトを作成したら、Laravel Artisanのserveコマンドを使い、Laravelのローカル開発サーバを起動してください。

cd example-app

php artisan serve

Artisan開発サーバを起動したら、Webブラウザのhttp://localhost:8000を通して、アプリケーションへアクセスできます。次に、Laravelエコシステムへの次のステップを開始する準備が整いました。もちろん、データベースの設定も行えます。

[!NOTE] Laravelアプリケーションを開発する際に、有利なスタートダッシュを切りたければ、スターターキットの1つを使用することを検討してください。Laravelのスターターキットは、新しいLaravelアプリケーションのために、バックエンドとフロントエンド側の認証のスカフォールドを提供します。

初期設定

Laravelフレームワークのすべての設定ファイルは、configディレクトリへ格納しています。各オプションはコメントによりドキュメント化されていますので、自由にファイルに目を通して、利用可能なオプションに慣れてください。

Laravelは初期設定で動き、追加の設定はほぼ必要ありません。すぐに開発を始めることができます!しかし、config/app.phpファイルとそのコメントの確認をお勧めします。このファイルはtimezonelocaleなど、アプリケーションに応じて変更したいであろうオプションを含んでいます。。

環境ベースの設定

アプリケーションをローカルマシンで実行するか、本番のWebサーバで実行するかにより、Laravelの設定オプション値の多くは異なる可能性があるため、多くの重要な設定値は、アプリケーションのルートに存在する.envファイルを使用して定義します。

.envファイルはアプリケーションのソース管理に含めるべきではありません。なぜなら、アプリケーションを使用する開発者やサーバごとに、異なる環境設定が必要になる可能性があるからです。さらに、これは侵入者がソース管理リポジトリにアクセスした場合のセキュリティリスクとなります。

[!NOTE] .envファイルと環境ベースによる設定の詳細は、完全な設定のドキュメントをチェックしてください。

データベースとマイグレーション

Laravelアプリケーションを作成したので、次はおそらくデータベースにデータを保存したいと考えるでしょう。アプリケーションのデフォルト.env設定ファイルでは、LaravelがMySQLデータベースを操作し、127.0.0.1のデータベースへアクセスする指定をしています。

[!NOTE] macOSで開発しており、MySQL、Postgres、Redisをローカルへインストールする必要がある場合は、DBnginの使用を検討してください。

ローカルマシンにMySQLやPostgresをインストールしたくない場合は、いつでもSQLiteデータベースを使用できます。SQLiteは小さく、高速で、自己完結型のデータベースエンジンです。使い始めるには、Laravelのsqliteデータベースドライバを使用するように、.env設定ファイルを更新してください。他のデータベース設定オプションは削除してかまいません。

DB_CONNECTION=sqlite # [tl! add]
DB_CONNECTION=mysql # [tl! remove]
DB_HOST=127.0.0.1 # [tl! remove]
DB_PORT=3306 # [tl! remove]
DB_DATABASE=laravel # [tl! remove]
DB_USERNAME=root # [tl! remove]
DB_PASSWORD= # [tl! remove]

SQLiteデータベースを設定したら、アプリケーションのデータベースマイグレーションを実行し、アプリケーションのデータベーステーブルを作成します。

php artisan migrate

アプリケーションにSQLiteデータベースが存在しない場合、Laravelはデータベースを作成するかどうかを尋ねます。通常、SQLiteデータベースファイルはdatabase/database.sqliteへ作成します。

ディレクトリ設定

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

Sailで使用するDockerのインストール

皆さんの好みのオペレーティングシステムが何であれ、できるだけ簡単にLaravelを始められるようにしたいと考えています。そのため、ローカルマシンでLaravelプロジェクトを開発・実行するための様々なオプションが用意されています。これらのオプションは後ほど検討していただけますが、LaravelではSailという、Dockerを使用してLaravelプロジェクトを実行する組み込みソリューションを提供しています。

Dockerは、ローカルマシンにインストールしているソフトウェアや構成に干渉しない、小型で軽量の「コンテナ」でアプリケーションとサービスを実行するためのツールです。これはつまり、パーソナルマシン上のWebサーバやデータベースなどの複雑な開発ツールの構成や準備について心配する必要はないことを意味します。開発を開始するには、Docker Desktopをインストールするだけです。

Laravel Sailは、LaravelのデフォルトのDocker構成と、操作するための軽量のコマンドラインインターフェイスです。 Sailは、Dockerの経験がなくても、PHP、MySQL、Redisを使用してLaravelアプリケーションを構築するために良い出発点を提供しています。

[!NOTE] すでにDockerのエキスパートですか?ご心配なく!Laravelが提供するdocker-compose.ymlファイルを使用して、Sailに関するすべてをカスタマイズできます。

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コンテナを開始したら、Webブラウザでアプリケーションのhttp://localhostにアクセスできます。

[!NOTE] Laravel Sailの詳細は、完全なドキュメントで確認してください。

WindowsでのSail

Windowsマシンに新しいLaravelアプリケーションを作成する前に、必ずDocker Desktopをインストールしてください。次に、Windows Subsystem for Linux 2(WSL2)がインストールされ、有効になっていることを確認する必要があります。 WSLを使用すると、Linuxバイナリ実行可能ファイルをWindows 10でネイティブに実行できます。WSL2をインストールして有効にする方法については、Microsoftの開発者環境ドキュメントを参照してください。

[!NOTE] WSL2をインストールして有効にした後、DockerデスクトップがWSL2バックエンドを使用するように構成されていることを確認する必要があります。

これで、最初のLaravelプロジェクトを作成する準備が整いました。Windowsターミナルを起動し、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コンテナを開始したら、Webブラウザでアプリケーションの http://localhost へアクセスできます。

[!NOTE] Laravel Sailの詳細は、完全なドキュメントで確認してください。

WSL2内での開発

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

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

Sail on Linux

Linuxで開発しており、Docker Composeを既にインストールしている場合は、簡単なターミナルコマンドで新しいLaravelプロジェクトを作成できます。

まず、Docker Desktop for Linuxを使用している場合は、以下のコマンドを実行してください。Docker Desktop for Linuxを使用していない場合は、このステップを飛ばしてください。

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コンテナを開始したら、Webブラウザでアプリケーションのhttp://localhost へアクセスできます。

[!NOTE] Laravel Sailの詳細は、完全なドキュメントで確認してください。

Sailサービスの選択

Sailで新しいLaravelアプリケーションを作成する際に、withというクエリ文字列変数を使って、新しいアプリケーションのdocker-compose.ymlファイルで設定するサービスを選択できます。利用可能なサービスは、mysqlpgsqlmariadbredismemcachedmeilisearchtypesenceminioseleniummailpitです。

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

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

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

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

IDEサポート

Laravelアプリケーションを開発するときに、どのようなコードエディタを使用するかは自由ですが、PhpStormは、Laravel Pintを含むLaravelとそのエコシステムを幅広くサポートしています。

さらに、コミュニティがメンテナンスしているLaravel Idea PhpStormプラグインは、コード生成、Eloquent構文補完、バリデーションルール補完など、IDEに役立つ様々な拡張機能を提供しています。

次のステップ

Laravelプロジェクトを設定し終えて、次に何を学ぶべきか迷っているかもしれません。まず、以下のドキュメントを読み、Laravelの仕組みを理解することを強く推奨いたします。

Laravelをどのように使用するかにより、旅の次の行き先も決まります。Laravelを使用するにはさまざまな方法があります。以下では、フレームワークの2つの主要なユースケースについて説明します。

[!NOTE] Laravelは初めてですか?Laravel Bootcampでは、Laravelのフレームワークを実際に体験しながら、Laravelアプリケーションを構築できます。

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

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

もし、Laravelをどうしようしようかと考えているのであれば、フロントエンド開発ルーティングビューEloquent ORMについてのドキュメントをチェックすると良いかも知れません。さらに、LivewireInertiaといったコミュニティパッケージについても学ぶことに興味があるかもしれません。これらのパッケージにより、Laravelをフルスタックフレームワークとして使用しながら、シングルページのJavaScriptアプリケーションが提供するUIの、利点をたくさん享受できます。

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

[!NOTE] アプリケーションの構築をすぐに始めたい場合は、公式のアプリケーションスターターキットの1つをチェックしてください。

Laravel APIバックエンド

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

この方法でLaravelの使用を計画している場合は、ルーティングLaravel SanctumEloquent ORMに関するドキュメントを確認することをお勧めします。

[!NOTE] LaravelのバックエンドとNext.jsのフロントエンドのスカフォールドから始める必要がありますか?Laravel Breezeは、APIスタックNext.jsフロントエンド実装を提供しているため、すぐに開始できます。

ドキュメント章別ページ

ヘッダー項目移動

注目:アイコン:ページ内リンク設置(リンクがないヘッダーへの移動では、リンクがある以前のヘッダーのハッシュをURLへ付加します。

移動

クリックで即時移動します。

設定

適用ボタンクリック後に、全項目まとめて適用されます。

カラーテーマ
和文指定 Pagination
和文指定 Scaffold
Largeスクリーン表示幅
インデント
本文フォント
コードフォント
フォント適用確認

フォントの指定フィールドから、フォーカスが外れると、当ブロックの内容に反映されます。EnglishのDisplayもPreviewしてください。

フォント設定時、表示に不具合が出た場合、当サイトのクッキーを削除してください。

バックスラッシュを含むインライン\Code\Blockの例です。

以下はコードブロックの例です。

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class User extends Model
{
    /**
     * ユーザに関連する電話レコードを取得
     */
    public function phone()
    {
        return $this->hasOne('App\Phone');
    }
}

設定を保存する前に、表示が乱れないか必ず確認してください。CSSによるフォントファミリー指定の知識がない場合は、フォントを変更しないほうが良いでしょう。

キーボード・ショートカット

オープン操作

PDC

ページ(章)移動の左オフキャンバスオープン

HA

ヘッダー移動モーダルオープン

MS

移動/設定の右オフキャンバスオープン

ヘッダー移動

T

最初のヘッダーへ移動

E

最後のヘッダーへ移動

NJ

次ヘッダー(H2〜H4)へ移動

BK

前ヘッダー(H2〜H4)へ移動

その他

?

このヘルプページ表示
閉じる