我想使用 Rector 重构我的代码,因为我将项目更新为 symfony 5.4 到 6.1。我的php项目版本:8.1.5
所以,我想使用一个简单的规则,将我的注释更改为带有 ector 的属性。但是当我使用命令执行ector时:vendor/bin/rector process src
校长通知我:[OK]校长完成了!
但我的文件没有改变,我的实体注释也没有改变。我尝试按照此文档来配置我的rector.php并将rector与symfony一起使用。
https://github.com/rectorphp/rector-symfony
https://github.com/rectorphp/rector
我做错了什么?
这是我的rector.php
<?php
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Php80\ValueObject\AnnotationToAttribute;
use Rector\Php80\Rector\Class_\AnnotationToAttributeRector;
use Rector\Symfony\Rector\MethodCall\StringFormTypeToClassRector;
use Rector\Symfony\Rector\Class_\CommandPropertyToAttributeRector;
return static function (RectorConfig $rectorConfig): void {
$rectorConfig->paths([
__DIR__ . '/src'
]);
$rectorConfig->phpstanConfig(__DIR__ . '/phpstan.neon');
$rectorConfig->symfonyContainerXml(__DIR__ . '/var/cache/dev/App_KernelDevDebugContainer.xml');
$rectorConfig->ruleWithConfiguration(
AnnotationToAttributeRector::class,
[new AnnotationToAttribute('Symfony\Routing\Annotation\Route')]
);
// register a single rule
//$rectorConfig->rule(CommandPropertyToAttributeRector::class);
// define sets of rules
/* $rectorConfig->sets([
SymfonySetList::SYMFONY_60,
SymfonySetList::SYMFONY_CODE_QUALITY,
SymfonySetList::SYMFONY_CONSTRUCTOR_INJECTION,
]);*/
};
Run Code Online (Sandbox Code Playgroud)
这是我的composer.json
{
"type": "project",
"license": "proprietary",
"minimum-stability": "dev",
"prefer-stable": …Run Code Online (Sandbox Code Playgroud)