Rector没有发现任何要更改的内容(将条令注释转换为属性)



由于Doctrine在其最新更新中似乎完全删除了对注释的支持,我正在尝试使用Rector将实体中的注释转换为属性。

我遵循了(看似(简单的官方教程-我有完全相同的rector.php内容,没有NetteSetList:

use RectorDoctrineSetDoctrineSetList;
use RectorSymfonySetSymfonySetList;
use RectorSymfonySetSensiolabsSetList;
use RectorConfigRectorConfig;
return function (RectorConfig $rectorConfig): void {
$rectorConfig->sets([
DoctrineSetList::ANNOTATIONS_TO_ATTRIBUTES,
SymfonySetList::ANNOTATIONS_TO_ATTRIBUTES,
SensiolabsSetList::FRAMEWORK_EXTRA_61,
]);
};

我用vendor/bin/rector process src/Entity --dry-run --debug运行测试。

它确实列出了src/Entity中的每个实体,但没有检测到任何可能的变化,因为它应该用属性替换每个条令注释。

我遇到了同样的问题,我通过更改composer.json中的Php版本来解决它,如下所述:配置Rector并使用symfony 6/php8 使用简单规则

只需将php版本7更改为8"php":"gt=7.2.5";至";php":"8.0〃;

我希望这能有所帮助:(

您可能使用PHPStan吗?看起来phpstan.neon配置文件是Rector自动使用的,不管你是否告诉它。

我做了以下

  • 从项目根目录中删除phpstan.neon文件
  • 使用--clear-cache选项再次运行Rector。如果没有它,它似乎无法识别phpstan.neon中的配置更改

现在Rector再次建议进行更改。

这似乎与phpstan.neon中的scanFiles选项有关。在我们的案例中,它有一个到的条目来修复PHPCS强制在自定义嗅探中使用全局常量的问题。

parameters:
scanFiles:
- vendor/squizlabs/php_codesniffer/src/Util/Tokens.php

我还没有更多的细节。但也许这会帮助你。

最新更新