Laravel 10.8 发布
发布时间 作者 Paul Redmond
Laravel 10.8 发布
Laravel PHP 框架本周发布了 10.8 版本,其中引入了几个新功能和改进,包括一个用于格式化方法链缩进的新 Pint 规则,以及为 Process::pipe()
方法添加的语法糖。此外,还添加了基于类的“after”验证规则。
除了框架更新之外,Laravel Pint 还获得了一个新规则,以确保方法链中正确缩进
今天发布的 @laravelphp Pint 在 Laravel 预设中包含了一个全新的规则,以确保方法链中正确的缩进!🧼 pic.twitter.com/QnwVC3ZuS9
— Nuno Maduro (@enunomaduro) 2023 年 4 月 18 日
让我们来看看 Laravel 10.8 中引入的功能和更改
为 Process::pipe() 添加语法糖
Wendell Adriel 为他在 Laravel 10.7 中贡献的 pipe()
方法贡献了语法糖
/*Given: the following in test.txtHello, worldfoo*/ // New syntatic sugar:$result = Process::pipe([ 'cat test.txt', 'grep -i "foo"',]);$result->output(); // "foo" // Equivalent to the following, introduced in Laravel 10.7$pipe = Process::pipe(function ($pipe) { $pipe->command('cat test.txt'), $pipe->command('grep -i "foo"'),});$pipe->run()->output(); // "foo"
基于类的“after”验证规则
Tim MacDonald 贡献了 基于类的 after 验证规则,它允许使用“after”规则数组
Validator::make(/* .. */)->after([ new AfterRuleOne(/* ... */), new AfterRuleTwo(/* ... */), function ($validator) use (/* ... */): void => { // ... },});
对表单请求也进行了改进,您可以在类中定义一个 after()
方法
class UserRequest{ protected function rules(): array { return [ // ]; } protected function after(MyService $service): array { return [ new AfterRule($this->value, $service), // ... ]; }}
有关 Laravel 10.8 中关于验证 after 规则的新内容的完整详细信息,请参阅 拉取请求 #46757。
允许在调用 constrained() 时指定索引名称
Luke Kuzmish 贡献了在调用 constrained()
时指定索引名称的功能
// Before 10.8$table->foreignIdFor(KnowledgeBaseResource::class)->nullable();$table ->foreign('knowledge_base_resource_id', 'my_foreign_index') ->references('id') ->on('knowledge_base_resources') ->constrained() ->nullOnDelete();
现在,您可以执行以下操作
$table->foreignIdFor(KnowledgeBaseResource::class) ->nullable() ->constrained(null, null, 'my_foreign_index') ->nullOnDelete();
将最大异常添加到广播事件
Anjorin Damilare 贡献了一个 maxExceptions
属性,您可以将其添加到事件中,该属性将确定在失败之前允许的最大未处理异常数。有关详细信息,请参阅 拉取请求 #46800。
发布说明
您可以在下面看到新功能和更新的完整列表,以及在 GitHub 上 10.7.0 和 10.8.0 之间的差异。以下发布说明直接来自 变更日志
v10.8.0
添加
- 为 Process::pipe 方法添加语法糖 (#46745)
- 允许在调用 ForeignIdColumnDefinition@constrained() 时指定索引名称 (#46746)
- 允许在 AuthenticateSession 中间件中自定义重定向 URL (#46752)
- 添加基于类的 after 验证规则 (#46757)
- 将最大异常添加到广播事件 (#46800)