orklah / psalm-type-setters-params
使用属性类型在setter中修复参数
v1.0.0
2021-09-13 10:47 UTC
Requires
- php: ^7.3|^8.0
- vimeo/psalm: master
Requires (Dev)
- nikic/php-parser: ^4.0
- phpunit/phpunit: ^9.5
- psalm/plugin-phpunit: ^0.15.0
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