PHP 框架面向网页工匠

Laravel 是一款具有表达性、优雅语法的 Web 应用框架。我们已经奠定了基础 - 释放你,让你可以专注于创造,无需为小事操心。

享受编码的乐趣。

Laravel 注重美观。我们像你一样热爱简洁的代码。简单、优雅的语法让你能够轻松使用强大的功能。每个功能都经过精心设计,以提供出色的开发者体验。

开始学习

一个框架,多种风格

使用 Laravel 和 Livewire 构建强大的 PHP 全栈应用程序。喜欢 JavaScript?通过将 Laravel 与 Inertia 配合使用,构建单一的 React 或 Vue 前端。

或者,让 Laravel 作为你 Next.js 应用程序、移动应用程序或其他前端的强大后端 API。无论哪种方式,我们的入门套件都能让你在几分钟内提高工作效率。

增强你的前端

你需要的,应有尽有。

Laravel 内置了所有现代 Web 应用程序所需常见功能的优雅解决方案。现在是时候开始构建出色的应用程序,并停止浪费时间搜索软件包和重新发明轮子了。

身份验证

用户身份验证就像在你的 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、短信、应用内等方式快速向用户发送格式精美的通知。

php artisan make:notification InvoicePaid

生成通知后,可以轻松地将消息发送给应用程序中的某个用户。

$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 允许你将缓慢的作业卸载到后台队列,从而保持 Web 请求的快速响应。

$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}")
);

了解更多

事件和 WebSockets

Laravel 的事件允许你在应用程序中发送和侦听事件,并且监听器可以轻松地调度到后台队列。

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

你的前端应用程序甚至可以使用 Laravel Echo 和 WebSockets 订阅 Laravel 事件,从而构建实时、动态的应用程序。

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

了解更多

我们只是触及了表面。Laravel 涵盖了构建 Web 应用程序所需的一切,包括电子邮件验证、速率限制和自定义控制台命令。查看 Laravel 文档 以继续学习。

快速行动...
充满信心。

Laravel 致力于提供你能想象到的最佳测试体验。不再有难以维护的脆弱测试。漂亮的测试 API、数据库填充和轻松的浏览器测试让你可以充满信心地发布。

了解更多

企业级规模,无需企业级复杂性。

我们庞大且经过精心维护的软件包库意味着你已准备好应对任何挑战。让 Laravel Octane 提升应用程序的性能,并在 Laravel Vapor(我们基于 AWS Lambda 的无服务器部署平台)上体验无限扩展。

全球数千名开发者喜爱。

“我使用 Laravel 已经近十年了,从未想过要切换到其他框架。”

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 年了,我无法想象在没有它的情况下使用 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

“在过去十年里,我一直在每个项目中使用 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 分钟。它适用于架构师和周末黑客。适用于有学位的人,也适用于辍学追逐梦想的人。我们一起创造令人惊叹的东西。

laracon

在 Laracasts 上观看我们

收看

Laracasts 包括免费的视频和教程,涵盖整个 Laravel 生态系统。通过观看我们的最新视频,随时了解最新信息。

开始观看
partners

为您的下一个项目聘用合作伙伴

Laravel 合作伙伴是提供一流 Laravel 开发和咨询的精英商店。我们的每个合作伙伴都可以帮助您打造一个美观且架构良好的项目。

浏览合作伙伴