Laravel Pint 现在将完全合格的类名称替换为导入
LaravelPint新增fully_qualified_strict_types规则,自动将完全限定类名替换为短类名并添加use导入,覆盖类型提示、返回类型及Doc注释的@param、@return、@var、@throws等。更新Pint后运行即可生效,或自定义配置启用。
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 显然是更省心的选择。
WPS Office是一款面向macOS用户的综合办公套件,将文字处理、电子表格、演示文稿、PDF工具、模板与云协作整合在同一应用中。它兼容常见Microsoft Office格式,支持Intel及Apple芯片Mac,基础功能可免费使用,
Shapr3D是一款面向工业设计、机械工程、建筑概念和三维打印工作流的CAD软件。Mac版采用Parasolid建模内核,支持草图约束、实体建模、工程图、可视化渲染及常见CAD格式交换,并可通过账户在多台设备之间同步项目。
REAPER是Cockos开发的数字音频工作站,提供多轨音频与MIDI录制、剪辑、处理、混音和母带制作工具。Mac版兼容Intel与Apple芯片,支持AU、VST、VST3、CLAP等插件格式,并提供高度可定制的工作流程。
Adobe Photoshop 是面向摄影师、设计师和内容创作者的专业图像处理工具,可在 Windows 上完成照片修饰、选区抠图、图层合成、文字排版、绘画及生成式编辑。软件采用订阅授权,由 Creative Cloud 管理安装、更新与许
Adobe InDesign 是面向印刷与数字出版的专业页面排版工具,可制作书籍、杂志、宣传册、海报、交互式 PDF 和电子书。它提供精细的文字样式、多页面管理、印前检查及多格式输出能力,并能与 Photoshop、Illustrator
Adobe Illustrator 是用于绘制矢量图形、插画、图标、徽标和版式的专业设计工具。它以路径和锚点为核心,作品放大后仍能保持清晰,并提供画板、文字、渐变、图像描摹及精确变换等功能,适合品牌视觉、印刷物料、数字界面和商业插画创作。













