[机翻] Taylor Otwell 的 Laracon US 2024 主题演讲亮点
Taylor Otwell 在 Laracon US 2024 第一天的结束时发表了主题演讲,展示了许多雄心勃勃的项目,例如官方的 VS Code 扩展、许多酷炫的 Laravel 框架功能,如 defer()
、Inertia v2 功能的演示以及 Laravel Cloud。
让我们看看 Taylor 今年在主题演讲中分享了什么:
官方 Laravel VS Code 扩展
Taylor 宣布将于今年秋季晚些时候(2024 年)推出针对 Laravel 的 VS Code 扩展。有了这个新扩展,您将拥有使用 Laravel 和 VS Code 开发网络应用程序所需的一切。
泰勒在主题演讲中邀请了 Joe Tannenbaum 上台演示即将推出的 VS 代码扩展,场面十分壮观。以下是主题演讲中分享的高级功能:
- 目标是“通过四种不同的方式,尽可能地展示有关项目的智能提示”:
- 自动完成 Eloquent、服务等。
- 可点击。
- 悬停 -“快速修复”信息一目了然。
- 诊断 - 如果您犯了错误,可在行内发出警告
- 集成 VS 代码测试资源管理器
自动完成 app()
, route()
, config()
, env()
, trans()
等:
Joe 向我们展示的功能中,我最喜欢的就是自动完成可用的 app()
服务、悬停服务信息以及直接跳转到服务注册源的功能:
注:原文就是两张一样的图
文本资源管理器集成可让您通过文件资源管理器中的开始按钮运行测试,并提供失败时的内联错误信息。您还可以访问 VS 代码底部的完整测试输出:
Laravel框架的开源新功能
使用本地文件系统驱动程序的临时文件 URL。
容器属性允许你为通过容器加载的类设置参数:
Config
属性并不是唯一可用的属性,其他属性包括用于解析数据库连接的 DB('driver')
、用于获取当前已验证用户的 CurrentUser
等:
public function __construct(
#[CurrentUser] User $user,
#[DB('mysql')] Connection $connection,
#[Config('services.github.token')]
string $githubToken
) {
// ...
}
你还可以通过实现一个简单的接口,为软件包或 Laravel 应用程序创建自己的容器属性。Laravel 11 已经提供了这些容器属性,你现在就可以在你的应用程序中使用它们!
Eloquent Chaperone
您可以使用关系上的新 ->chaperone()
方法,在关系查询运行后指示 Eloquent 将相关模型链接回父模型,从而避免繁琐的 N+1 查询:
新的 Defer 辅助函数
有一种新方法将工作推送到后台,就是使用 defer()
辅助函数。
使用 defer 辅助函数,可以将代码执行推到后台,在响应发送到浏览器后再执行:
public function index()
{
defer(fn() => Some:backgroundTask());
// ....
return view('example');
}
框架中还有其他一些地方利用了 defer 的优势,比如这个 Cache::flexible()
方法,它可以在 5-10 秒之间为陈旧的缓存提供服务,但 defer()
会在后台更新缓存以保持其时效性:
新的 Concurrency 门面
新的 Concurrency
Facade 可以同时运行多个回调,而不会降低请求速度:
Laravel Inertia v2.0
Taylor 展示了 Inertia 2.0 的六项关键功能,但这部分主题演讲最好是现场观看。此链接 可直接转到主题演讲的 Inertia v2.0 部分,非常值得一看。Inertia 2 即将推出的新功能非常出色,包括异步请求、延迟道具、预取等。
我很喜欢预取功能,它可以在挂载或悬停时预载链接,带来近乎即时、快速的用户体验。
还有一件事 - Laravel Cloud ☁️
Talor 在主题演讲的最后发布了 Laravel Cloud,即 “运输的未来”。此次主题演讲是 Laravel 新应用平台的首次公开演示,该平台可即时部署 Laravel 应用程序。在演示过程中,泰勒创建了一个项目,并在 25 秒内启动和运行了一个 Laravel 应用程序🤯。
您可以登录 cloud.laravel.com 进入 Laravel Cloud 等候名单。
在 Laracon Livestream 的这个时间点 上可以看到 Laravel Cloud 演示。
推荐文章: