相关疑难解决方法(0)

配置 Rector 并使用 symfony 6/php8 的简单规则

我想使用 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)

php doctrine symfony rector

5
推荐指数
2
解决办法
6191
查看次数

标签 统计

doctrine ×1

php ×1

rector ×1

symfony ×1