Pet*_*uib 7 php symfony doctrine-orm rector php-8
由于 Doctrine 似乎在其最新更新中完全删除了注释支持,因此我尝试使用 Rector 将实体中的注释转换为属性。
我遵循(看似)简单的官方教程- 我有完全相同的ector.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,
]);
};
Run Code Online (Sandbox Code Playgroud)
我用 运行测试vendor/bin/rector process src/Entity --dry-run --debug。
它确实列出了 中的每个实体src/Entity,但没有检测到任何可能的更改,此时它应该用属性替换每个学说注释。
小智 8
我遇到了同样的问题,我通过更改composer.json中的Php版本来解决它,如下所述: 配置Rector并使用symfony 6/php8的简单规则
只需要将 php 版本 7 改为 8 "php":">=7.2.5" 改为 "php": "^8.0"
我希望这有帮助:)