orklah/psalm-type-setters-params

使用属性类型在setter中修复参数

安装: 592

依赖: 0

建议者: 0

安全: 0

星标: 4

关注者: 3

分支: 0

开放问题: 0

类型:psalm-plugin

v1.0.0 2021-09-13 10:47 UTC

This package is auto-updated.

Last update: 2024-09-13 17:25:30 UTC


README

一个使用属性类型在setter中修复参数的 Psalm 插件

安装

$ composer require --dev orklah/psalm-type-setters-param
$ vendor/bin/psalm-plugin enable orklah/psalm-type-setters-param

使用方法

要自动修复代码,请运行

$ vendor/bin/psalm --alter --plugin=vendor\orklah\psalm-type-setters-param\src\Plugin.php

说明

当一个属性有类型时,我们可以推断出任何setter不应该接受比属性更宽的类型。当此插件检测到这种情况时,它会将类型添加到参数中。

警告:如果setter的类没有strict_type声明,而调用setter的文件有,则此插件可能由于隐式转换而创建TypeError。请使用orklah\psalm-strict-types来避免此类情况。(如果有人感兴趣,可能可以检查特定情况并防止替换,请创建一个问题)

这个想法最初是由Rector为PHPStan实现的:https://github.com/rectorphp/rector 请阅读他们的文章以及该套件中的其他rectors: https://getrector.org/blog/2021/02/15/how-much-does-single-type-declaration-know