symfony Rector找不到任何要更改的内容(正在将Doctrine注解转换为属性)

mw3dktmi  于 2022-11-16  发布在  其他
关注(0)|答案(2)|浏览(94)

由于Doctrine在其最新更新中似乎已经完全删除了注解支持,我正在尝试使用Rector将实体中的注解转换为属性。
我遵循了(看起来)简单的official tutorial-我有完全相同的rector.php内容,但没有NetteSetList:

use Rector\Doctrine\Set\DoctrineSetList;
use Rector\Symfony\Set\SymfonySetList;
use Rector\Symfony\Set\SensiolabsSetList;
use Rector\Config\RectorConfig;

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实体,但没有检测到任何可能的变化,而它应该用属性替换每一个教义注解。

rfbsl7qr

rfbsl7qr1#

我遇到了同样的问题,我通过改变composer.json中的Php版本来解决它,如下所述:Configure Rector and using a simple Rule with symfony 6/php8
只需要将php版本7改为php版本8:将“〉=7.2.5”修改为“php”:“^8.0”
我希望这能有所帮助:)

s4n0splo

s4n0splo2#

你可能使用PHPStan吗?看起来phpstan.neon配置文件是自动被Rector使用的,不管你告诉它与否。
我执行了以下操作

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

现在校长又建议改变。
它似乎与phpstan.neon中的scanFiles选项有关。在我们的示例中,它有一个条目来修复PHPCS在自定义嗅探中强制使用全局常量的问题。

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

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

相关问题