ウェブ職人のためのPHPフレームワーク

Laravelは、表現力豊かでエレガントな構文を備えたウェブアプリケーションフレームワークです。私たちはすでに基礎を築きました。あなたは細かなことに煩わされることなく、創造性を発揮できます。

書く喜びのためにコードを書こう。

Laravelは美しさを大切にしています。私たちはあなたと同じくらいクリーンなコードを愛しています。シンプルでエレガントな構文により、素晴らしい機能を簡単に利用できます。すべての機能は、素晴らしい開発エクスペリエンスを提供するために、綿密に検討されています。

学習を始める

一つのフレームワーク、多様な選択肢

LaravelとLivewireを使用して、PHPで堅牢なフルスタックアプリケーションを構築します。JavaScriptが好きですか?LaravelとInertiaを組み合わせることで、モノリシックなReactまたはVue駆動のフロントエンドを構築できます。

または、LaravelをNext.jsアプリケーション、モバイルアプリケーション、その他のフロントエンドのための堅牢なバックエンドAPIとして使用することもできます。いずれにしても、スターターキットを使えば、数分で生産性を高めることができます。

フロントエンドを強化する

素晴らしいものになるために必要なすべて。

Laravelは、すべての最新のウェブアプリケーションに必要な一般的な機能のためのエレガントなソリューションをすぐに利用できます。素晴らしいアプリケーションの構築を始め、パッケージの検索や車輪の再発明に時間を浪費するのはやめましょう。

認証

ユーザーの認証は、Laravelルート定義に認証ミドルウェアを追加するだけで簡単です

Route::get('/profile', ProfileController::class)
->middleware('auth');

ユーザーが認証されると、`Auth`ファサードを介して認証済みユーザーにアクセスできます

use Illuminate\Support\Facades\Auth;
 
// Get the currently authenticated user...
$user = Auth::user();

もちろん、独自の認証ミドルウェアを定義して、認証プロセスをカスタマイズすることもできます。

Laravelの認証機能の詳細については、認証ドキュメントをご覧ください。

認可

認証済みユーザーが特定のアクションを実行する権限を持っているかどうかを確認する必要があることがよくあります。Laravelのモデルポリシーにより、これが非常に簡単になります

php artisan make:policy UserPolicy

生成されたポリシークラスで認可ルールを定義したら、コントローラーメソッドでユーザーのリクエストを認可できます

public function update(Request $request, Invoice $invoice)
{
Gate::authorize('update', $invoice);
 
$invoice->update(/* ... */);
}

詳細はこちら

Eloquent ORM

データベースが怖いですか?心配しないでください。LaravelのEloquent ORMを使用すると、アプリケーションのデータとのやり取りが簡単になり、モデル、マイグレーション、およびリレーションシップをすばやくスキャフォールディングできます

php artisan make:model Invoice --migration

モデル構造とリレーションシップを定義したら、Eloquentの強力で表現力豊かな構文を使用してデータベースと対話できます

// Create a related model...
$user->invoices()->create(['amount' => 100]);
 
// Update a model...
$invoice->update(['amount' => 200]);
 
// Retrieve models...
$invoices = Invoice::unpaid()->where('amount', '>=', 100)->get();
 
// Rich API for model interactions...
$invoices->each->pay();

詳細はこちら

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

マイグレーションはデータベースのバージョン管理のようなもので、チームがアプリケーションのデータベーススキーマ定義を定義して共有できます

public function up(): void
{
Schema::create('flights', function (Blueprint $table) {
$table->uuid()->primary();
$table->foreignUuid('airline_id')->constrained();
$table->string('name');
$table->timestamps();
});
}

詳細はこちら

バリデーション

Laravelには90以上の強力な組み込みバリデーションルールがあり、Laravel Precognitionを使用すると、フロントエンドでライブバリデーションを提供できます

public function update(Request $request)
{
$validated = $request->validate([
'email' => 'required|email|unique:users',
'password' => Password::required()->min(8)->uncompromised(),
]);
 
$request->user()->update($validated);
}

詳細はこちら

通知とメール

Laravelを使用して、美しくスタイル設定された通知をメール、Slack、SMS、アプリ内などでユーザーにすばやく送信します

php artisan make:notification InvoicePaid

通知を生成したら、アプリケーションのユーザーの1人にメッセージを簡単に送信できます

$user->notify(new InvoicePaid($invoice));

詳細はこちら

ファイルストレージ

Laravelは堅牢なファイルシステム抽象化レイヤーを提供し、ローカルファイルシステムとAmazon S3などのクラウドベースのファイルシステムとの対話のための単一の統合APIを提供します

$path = $request->file('avatar')->store('s3');

ファイルの保存場所に関係なく、Laravelのシンプルでエレガントな構文を使用して操作します

$content = Storage::get('photo.jpg');
 
Storage::put('photo.jpg', $content);

詳細はこちら

ジョブキュー

Laravelを使用すると、時間のかかるジョブをバックグラウンドキューにオフロードして、ウェブリクエストをスムーズに保つことができます

$podcast = Podcast::create(/* ... */);
 
ProcessPodcast::dispatch($podcast)->onQueue('podcasts');

ワークロードを処理するために必要な数のキューワーカーを実行できます

php artisan queue:work redis --queue=podcasts

キューの可視性と制御性を高めるために、Laravel Horizonは、Laravel搭載のRedisキューのための美しいダッシュボードとコード駆動型の構成を提供します。

詳細はこちら

タスクスケジューリング

表現力豊かな構文を使用して定期的なジョブとコマンドをスケジュールし、複雑な構成ファイルに別れを告げましょう

$schedule->job(NotifySubscribers::class)->hourly();

Laravelのスケジューラは複数のサーバーを処理することもでき、組み込みの重複防止機能を提供します

$schedule->job(NotifySubscribers::class)
->dailyAt('9:00')
->onOneServer()
->withoutOverlapping();

詳細はこちら

テスト

Laravelはテストのために構築されています。単体テストからブラウザテストまで、アプリケーションのデプロイに自信が持てます

$user = User::factory()->create();
 
$this->browse(fn (Browser $browser) => $browser
->visit('/login')
->type('email', $user->email)
->type('password', 'password')
->press('Login')
->assertPathIs('/home')
->assertSee("Welcome {$user->name}")
);

詳細はこちら

イベントとWebSocket

Laravelのイベントを使用すると、アプリケーション全体でイベントを送受信でき、リスナーをバックグラウンドキューに簡単にディスパッチできます

OrderShipped::dispatch($order);
class SendShipmentNotification implements ShouldQueue
{
public function handle(OrderShipped $event): void
{
// ...
}
}

フロントエンドアプリケーションは、Laravel EchoとWebSocketを使用してLaravelイベントをサブスクライブすることもでき、リアルタイムの動的アプリケーションを構築できます

Echo.private(`orders.${orderId}`)
.listen('OrderShipped', (e) => {
console.log(e.order);
});

詳細はこちら

これはほんの一部です。Laravelは、メール検証、レート制限、カスタムコンソールコマンドなど、ウェブアプリケーションの構築に必要なすべてを網羅しています。Laravelドキュメントで学習を続けましょう。

速く動こう...
自信を持って。

Laravelは、想像できる最高のテストエクスペリエンスを提供することに尽力しています。保守が面倒な、壊れやすいテストはもうありません。美しいテストAPI、データベースシーディング、そして簡単なブラウザテストにより、自信を持ってリリースできます。

詳細はこちら

エンタープライズ規模でありながら、エンタープライズレベルの複雑さはありません。

細心の注意を払って保守された膨大なパッケージライブラリにより、あらゆる準備が整います。Laravel Octaneでアプリケーションのパフォーマンスを大幅に向上させ、AWS Lambdaを搭載したサーバーレスデプロイメントプラットフォームであるLaravel Vaporで無限のスケールを体験してください。

世界中の何千人もの開発者に愛されています。

「Laravelを10年近く使っていますが、他のものに切り替えようと思ったことはありません。」

Adam Wathan
Adam Wathan

Tailwind CSS の作者

「Laravelは、最新のスケーラブルなWebアプリを構築する際の苦痛を取り除いてくれます。」

Aaron Francis
Aaron Francis

TorchlightSidecar の作者

「Laravelは、驚くほど革新的で活発なコミュニティへと成長しました。Laravelは、単なるPHPフレームワーク以上のものです。」

Bobby Bouwmann
Bobby Bouwmann

Enrise のエリート開発者

「古くからのPHP開発者として、多くのフレームワークを試してきましたが、Laravelで見つけた開発速度と使いやすさを提供してくれたものはありません。素晴らしいコミュニティを持つ、PHPエコシステムの新鮮な息吹です。」

Erika Heidi
Erika Heidi

Minicli の作者

「Laravelはまさに喜びそのものです。 私が望むどんなWebアプリケーションでも、記録的な速さで楽しく構築できます。」

Caleb Porzio
Caleb Porzio

LivewireAlpine.js の作者

「Laravelを偶然見つけましたが、すぐに自分のものを見つけたことがわかりました。フレームワーク、エコシステム、そしてコミュニティ - それは完璧なパッケージです。素晴らしいプロジェクトに取り組み、素晴らしい人々と出会いました。Laravelが私の人生を変えたと言っても過言ではありません。」

Zuzana Kunckova
Zuzana Kunckova

フルスタック開発者

「Laravelのクラス最高のテストツールは、堅牢なアプリを迅速に提供できるという安心感を与えてくれます。」

Michael Dyrynda
Michael Dyrynda

Laravel Artisan + Laracon AU オーガナイザー

「Laravelは、私のキャリアとビジネスにとってロケット燃料のようなものでした。」

Chris Arter
Chris Arter

Bankrate の開発者

「Laravelを10年以上使っていますが、LaravelなしでPHPを使うことは想像できません。」

Eric L. Barnes
Eric L. Barnes

Laravel News の創設者

「Laravelが開発者エクスペリエンスを次のレベルに押し上げることに重点を置いてきたことを、長年楽しんでいます。エコシステムのすべての要素は強力で、よく設計されており、作業するのが楽しく、優れたドキュメントを備えています。周りのフレンドリーで親切なコミュニティに参加できることは喜びです。」

Freek Van der Herten
Freek Van der Herten

Spatie のオーナー

「Laravelとそのエコシステムツールは、他のどのツールよりも高速で、安全で、高品質なクライアントプロジェクトを構築するのに役立ちます。」

Jason Beggs
Jason Beggs

Design to Tailwind のオーナー

「(多くの)異なるエコシステムを試してみるまで、Laravelのワンストップショップで包括的なソリューションの真価を十分に理解していませんでした。 Laravelは独自のクラスです!」

Joseph Silber
Joseph Silber

Bouncer の作者

「Laravelは、他のどのソリューションよりも迅速に製品を立ち上げるのに役立ち、コミュニティの発展に伴い、市場投入までの時間を短縮することができました。」

Steve McDougall
Steve McDougall

Laravel Transporter の作者

「毎日新しいフレームワークが立ち上がる時代に、過去10年間、すべてのプロジェクトでLaravelを使用してきました。今日まで、Laravelのようなものはありません。」

Philo Hermans
Philo Hermans

Anystack の創設者

「Laravelは、やらなければならないからではなく、できるからコードを書く開発者のためのものです。」

Luke Downing
Luke Downing

メーカー + 開発者

「LaravelはWebアプリの構築をエキサイティングなものにします! また、より良い開発者になるのにも役立ちました🤙」

Tony Lea
Tony Lea

DevDojo の創設者

「Laravelエコシステムは、私たちのビジネスの成功に不可欠なものでした。このフレームワークにより、迅速に開発を進め、定期的にリリースすることができます。また、Laravel Vaporにより、信じられないほどの規模で容易に運用することができました。」

Jack Ellis
Jack Ellis

Fathom Analytics の共同創設者

あなたのような人のために作られたコミュニティ。

Laravelは、プログラミング歴20年でも20分でも、すべての人々のためのものです。アーキテクチャ宇宙飛行士と週末ハッカーのためのものです。学位を取得した人のためであり、夢を追いかけるために中退した人のためでもあります。私たちは共に素晴らしいものを創造します。

partners

次のプロジェクトのパートナーを雇う

Laravelパートナーは、一流のLaravel開発とコンサルティングを提供するエリートショップです。すべてのパートナーが、美しく、優れたアーキテクチャのプロジェクトを作成するお手伝いをします。

パートナーを探す