由于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
实体,但没有检测到任何可能的变化,而它应该用属性替换每一个教义注解。
2条答案
按热度按时间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”
我希望这能有所帮助:)
s4n0splo2#
你可能使用PHPStan吗?看起来
phpstan.neon
配置文件是自动被Rector使用的,不管你告诉它与否。我执行了以下操作
phpstan.neon
文件--clear-cache
选项再次运行Rector。如果没有它,它似乎无法识别phpstan.neon
中的配置更改。现在校长又建议改变。
它似乎与
phpstan.neon
中的scanFiles
选项有关。在我们的示例中,它有一个条目来修复PHPCS在自定义嗅探中强制使用全局常量的问题。我还没有更多的细节。但也许这能帮你。