phauthentic/rector-rules
Composer 安装命令:
composer require phauthentic/rector-rules
包简介
Rector Rules
README 文档
README
Custom Rector rules for adding final/readonly modifiers and extracting interfaces based on FQCN regex patterns.
Requirements
- PHP 8.2+
- Rector ^2.3
Installation
composer require phauthentic/rector-rules
Rules
AddFinalByRegexRector
Adds final to classes whose fully qualified class name matches one of the configured regex patterns.
Configuration:
// rector.php use Phauthentic\RectorRules\Rector\Class_\AddFinalByRegexRector; use Rector\Config\RectorConfig; return RectorConfig::configure() ->withPaths(['src']) ->withConfiguredRule(AddFinalByRegexRector::class, [ '#^App\\\\Domain\\\\#', '#^App\\\\Service\\\\#', ]);
Or with explicit patterns key:
->withConfiguredRule(AddFinalByRegexRector::class, [ 'patterns' => ['#^App\\\\Domain\\\\#'], ])
AddReadonlyByRegexRector
Adds readonly to classes whose FQCN matches one of the configured regex patterns. Requires PHP 8.2+.
Configuration:
use Phauthentic\RectorRules\Rector\Class_\AddReadonlyByRegexRector; ->withConfiguredRule(AddReadonlyByRegexRector::class, [ '#^App\\\\ValueObject\\\\#', ])
ExtractInterfaceByRegexRector
Extracts methods from matching classes into interfaces and adds implements to the class. Creates interface files when missing.
Configuration:
use Phauthentic\RectorRules\Rector\Class_\ExtractInterfaceByRegexRector; ->withConfiguredRule(ExtractInterfaceByRegexRector::class, [ 'interface_name_template' => '{namespace}\\{shortName}Interface', 'extract' => [ [ 'class_regex' => '#^App\\\\Service\\\\#', 'methods' => [ 'exact' => ['handle', 'supports'], 'regex' => ['#^get[A-Z].*#'], ], ], [ 'class_regex' => '#^App\\\\Contract\\\\#', // methods omitted => extract all public methods (except __construct) ], ], ])
- interface_name_template: Optional. Placeholders:
{namespace},{shortName}. Default:{namespace}\{shortName}Interface - extract: List of entries, each with:
- class_regex: Regex to match class FQCN
- methods: Optional. If omitted, all public non-magic methods are extracted.
- exact: List of exact method names
- regex: List of regex patterns to match method names
Development
composer install
composer test
composer phpstan
统计信息
- 总下载量: 1
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 4
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-04-04