Rector Symfony 项目教程
1. 项目的目录结构及介绍
Rector Symfony 项目的目录结构如下:
rector-symfony/
├── docs/
│ └── rector_rules_overview.md
├── src/
│ ├── Symfony53/
│ ├── Symfony60/
│ └── ...
├── tests/
│ ├── Symfony53/
│ ├── Symfony60/
│ └── ...
├── .gitignore
├── composer.json
├── LICENSE
└── README.md
目录结构介绍
- docs/: 包含项目的文档文件,如
rector_rules_overview.md
,提供了 Rector 规则的概述。 - src/: 包含 Rector 的源代码,按 Symfony 版本分类,如
Symfony53/
和Symfony60/
。 - tests/: 包含项目的测试代码,同样按 Symfony 版本分类。
- .gitignore: Git 忽略文件,定义了哪些文件和目录不需要被 Git 跟踪。
- composer.json: Composer 配置文件,定义了项目的依赖关系。
- LICENSE: 项目的许可证文件,通常为 MIT 许可证。
- README.md: 项目的介绍文件,提供了项目的概述和基本使用说明。
2. 项目的启动文件介绍
Rector Symfony 项目没有传统意义上的“启动文件”,因为它是一个代码重构工具,通常在 CI/CD 流程中使用。不过,你可以通过 Composer 安装并运行 Rector:
composer require rector/rector-symfony --dev
安装完成后,你可以通过命令行运行 Rector:
vendor/bin/rector process src --set symfony62
这条命令会自动应用 Symfony 6.2 的升级规则到 src/
目录下的代码。
3. 项目的配置文件介绍
Rector Symfony 项目的配置文件通常是一个 PHP 文件,用于定义 Rector 的规则和选项。以下是一个示例配置文件 rector.php
:
use Rector\Config\RectorConfig;
use Rector\Symfony\Set\SymfonySetList;
return static function (RectorConfig $rectorConfig): void {
$rectorConfig->symfonyContainerXml(__DIR__ . '/var/cache/dev/App_KernelDevDebugContainer.xml');
$rectorConfig->sets([
SymfonySetList::SYMFONY_62,
SymfonySetList::SYMFONY_CODE_QUALITY,
SymfonySetList::SYMFONY_CONSTRUCTOR_INJECTION,
]);
};
配置文件介绍
- symfonyContainerXml: 指定 Symfony 容器的 XML 文件路径,某些规则(如
StringFormTypeToClassRector
)需要访问此文件。 - sets: 定义要应用的 Rector 规则集,如
SYMFONY_62
、SYMFONY_CODE_QUALITY
和SYMFONY_CONSTRUCTOR_INJECTION
。
通过配置文件,你可以自定义 Rector 的行为,以适应你的项目需求。