Laravel 9.8 发布
Laravel 团队发布了 9.8 版本,其中包含从 Eloquent 模型访问默认表单数据、每个异常类型的自定义日志级别、在其他路径中发现匿名组件等等:
「old」表单辅助函数可以接收模型
Andrew Arscott 对 old() 辅助函数进行了更新,允许模型作为第二个默认参数:
<input type="text" name="name" value="{{ old('name', $user->name) }}">
{{-- 🔥 --}}
<input type="text" name="name" value="{{ old('name', $user) }}">
在异常处理中允许自定义日志级别
Tom Witkowski 贡献了在异常处理程序中为抛出的异常自定义日志级别的能力:
use PDOException;
use Psr\Log\LogLevel;
/**
* 异常类型列表及其相应的自定义日志级别。
*
* @var array<class-string<\Throwable>, \Psr\Log\LogLevel::*>
*/
protected $levels = [
PDOException::class => LogLevel::CRITICAL
];
请前往 Pull Request #41925 了解实现细节。
在其他路径中发现匿名 Blade 组件
Ralph J. Smit 贡献了在其他路径中发现匿名 Blade 组件的能力:
public function boot()
{
Blade::anonymousComponentNamespace('flights.bookings', 'flights');
}
以下是匿名组件用法的示例:
<x-flights::panel :flight="$flight" />
设置模型工厂方法:
Ralph J. Smit
贡献了模型工厂的 set()
方法,该方法用于设置单例模型的属性。
// 之前
EloquentModel::factory()
->create(['name' => 'foo']);
// 之后
EloquentModel::factory()
->set('name', 'foo')
->create();
// 之前
EloquentModel::factory()
->someMethod()
->create(['country' => 'NL']);
// 之后
EloquentModel::factory()
->someMethod()
->set('country', 'NL')
->create();
发行说明
你可以在后文查看新功能和更新的完整列表以及在 GitHub 上查看 9.7.0 和 9.8.0 之间的差异。
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
推荐文章: