商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 硬件相关 > Laravel Pint 现在将完全合格的类名称替换为导入

Laravel Pint 现在将完全合格的类名称替换为导入

  发布于2026-07-29 阅读(0)

扫一扫,手机访问

Lara vel 的官方代码格式化工具 Pint 最近迎来了一项值得关注的更新——预设中新增了 fully_qualified_strict_types 规则。这项规则由努诺·马杜罗提出,核心作用很简单:自动把完全限定的类名(FQCN)替换成短类名,并顺手在文件顶部补上对应的 use 声明。它不仅能处理代码中的类型提示和返回类型,连 Doc 注释里的 @param@return@var@throws 以及内联代码引用也一并覆盖。

规则是什么

简单来说,当你用完全限定名称引用一个类时,这条规则会把它变成短名称,并在文件顶部自动添加 use 导入。举个例子,一个典型的 Lara vel 模型原本可能长这样:

class User extends Authenticatable{ /** @use HasFactory */ use HasFactory, Notifiable;  protected function casts(): array    { return [ 'email_verified_at' => IlluminateDatabaseEloquentCastsAttribute::class,        ];    }}

跑完 Pint 之后,它就变成了这样:

use DatabaseFactoriesUserFactory;use IlluminateDatabaseEloquentCastsAttribute; class User extends Authenticatable{ /** @use HasFactory */ use HasFactory, Notifiable;  protected function casts(): array    { return [ 'email_verified_at' => Attribute::class,        ];    }}

注意看,IlluminateDatabaseEloquentCastsAttribute 被替换成了 Attribute,同时顶部自动补上了 use 语句。Doc 注释里的 @use 标签也一并处理了。这规则覆盖的类型场景相当全面:类型提示、返回类型,以及 Doc 标签中的 @param@return@var@throws 和内联代码引用,一个不落。

如何使用它

如果你的项目已经使用了 Pint 的默认 lara vel 预设,那这条规则其实已经生效了——你只需要更新 Pint 并运行一下:

composer update lara vel/pint./vendor/bin/pint

如果你用的是自定义预设,比如 pint.json,那也可以手动把它加进去:

{ "preset": "psr12", "rules": { "fully_qualified_strict_types": { "import_symbols": true        }    }}

这里的关键是把 import_symbols 设为 true,告诉修复程序:遇到 FQCN 时,不光要缩短名称,还要自动添加 use 语句。如果只设成 false,它只会缩短那些已经存在对应 use 导入的类名,不会自己主动加。对于大多数项目来说,true 显然是更省心的选择。

本文转载于:https://www.php.cn/faq/2312114.html?uid=1242473 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注