Laravel9.21版本发布

2023-06-01 00:00:00 版本 发布 Laravel9

Laravel 团队发布了 9.21,其中包含了Artisan的全新外观、两个全新的 Artisan 命令等等。

让我们来看看最新的 Laravel 9 版本中的所有优点:

Artisan 焕然一新

Nuno Maduroartisan对CLI做出了巨大的更新。

“几乎所有内置的 Artisan 命令都经过重新设计,以提供更好的体验。”


以下是全新安装的 Laravel 9.21 的一些示例:

1.png

2.png

如果您想更深入地了解,请查看Laravel: 

https://blog.laravel.com/laravel-refreshing-artisan/

Laravel 博客上的令人耳目一新的Artisan。

此外,Pull Request #43065有实现细节和几十个新旧 CLI 的并排比较。


关于Artisan 命令

说到 Artisan 的改进,James Brooks创建了一个全新的命令:about。

该about命令显示有关 Laravel 环境的输出,例如调试模式、PHP 版本、缓存状态等:

3.png


Artisan模型显示命令

Jess Archer提供了一个新的 `model:show` Artisan 命令,

该命令显示有用的信息,为您提供模型概览:

4.png

它提供来自数据库和 Eloquent 的数据,以便在一个地方为您提供完整、有用的模型图片。

通常,您必须探索数据库和模型类来编译这些信息。



向JsonResource添加了whenCounted方法

Steve Bauman为 JSON 资源提供了一种whenCounted方法,可以在模型上设置关系时有条件地包含关系计数:

// new PostResource($post->loadCount('comments'));
 
 
class PostResource extends PostResource
{
    public function toArray($request)
    {
        return [
            'id' => $this->id,
            'comments_count' => $this->whenCounted('comments'),
        ];
    }
}


从请求中检索输入作为枚举

@emargareten有助于从请求对象中检索输入作为枚举:

// Before
public function post(Request $request)
{
    $status = StatusEnum::tryFrom($request->input('status'));
 
    // do stuff with status enum...
}
 
// After
public function post(Request $request)
{
    $status = $request->enum('status', StatusEnum::class);
 
    // do stuff with status enum...
}


发行说明

您可以在下面查看新功能和更新的完整列表以及GitHub 上9.20.0 和 9.21.0之间的差异。以下发行说明直接来自变更日志:

https://github.com/laravel/framework/compare/v9.20.0...v9.21.0

https://github.com/laravel/framework/blob/bc76c953b778a3f91a88a3aefe4d60a2972ed2f2/CHANGELOG.md#v9210---2022-07-19


v9.21.0


添加

添加了鼓舞人心的报价(#43180,#43189)
为 Artisan 引入全新外观 ( #43065 )
添加 whenCounted 到 JsonResource ( #43101 )
Artisan模型:显示命令(#43156)
Artisanabout命令(#43147,51b5eda , # 43225,# 43276)
将枚举转换添加到请求 ( #43239 )

恢复

恢复“修复路由中的默认参数错误”(#43208)
恢复路由更改 PR ( #43255 )

修复

修复 sqlsrv 的事务尝试计数器 ( #43176 )

改变了

使 assertDatabaseHas failureDescription 对多字节字符更友好 ( #43181 )
ValidationException 仅在使用字符串时汇总(#43177)
改进集合中的模式功能(#43240)
在队列工作者 resetScope 回调中清除 Facade resolvedInstances ( #43215 )
改进 queue:work 命令 ( #43252 )
当 Model::replicate 的 UPDATED_AT 或 CREATED_AT 为 null 时删除 null 默认属性名称 ( #43279 )
防止不明确的列 ( #43278 )
对 sqlsrv 数据库队列使用 readpast 查询提示而不是 holdlock ( #43259 )
供应商发布标志,仅限于现有文件 ( #43212 )

相关文章