phpactor / class-mover
此包已被弃用,不再维护。未建议替代包。
类移动库
0.2.0
2021-12-28 20:44 UTC
Requires
- php: ^7.3 || ^8.0
- microsoft/tolerant-php-parser: ^0.1
- phpactor/code-builder: ^0.4.3
- phpactor/code-transform-extension: ^0.2.1
- phpactor/container: ^2.0
- phpactor/text-document: ^1.2
- phpactor/worse-reflection: ^0.4.7
- psr/log: ~1.0
- symfony/filesystem: ^4.2 || ^5.0
Requires (Dev)
- ergebnis/composer-normalize: ^2.0
- friendsofphp/php-cs-fixer: ^2.17
- phpspec/prophecy-phpunit: ^2.0
- phpstan/phpstan: ~0.12.0
- phpunit/phpunit: ^9.0
- symfony/console: ^4.3 || ^5.1
This package is auto-updated.
Last update: 2022-03-31 19:33:34 UTC
README
这是一个专门用于重构类位置的库。
它负责
- 查找类的引用:查找类(或多个类)的所有引用。
- 查找类方法的引用:查找类方法的引用,或类上的所有方法调用,或所有方法调用。
- 替换类的引用:更新代码中的任何引用(使用给定方法,例如在路径下所有内容或git仓库中的所有文件)。
- 修改use语句:更新替换类的任何use语句。
- 添加use案例:必要时。
为什么?
当使用VIM等编辑器时,我面临的最大问题之一是移动类及其引用的替换 - 对于我来说,这是一个如此大的问题,以至于我很少这样做。
当前的方法涉及使用git移动类,然后在bash中对一组文件运行for循环并应用perl替换,将输出管道到临时文件,然后将该临时文件移动以覆盖旧文件。但这并不总是有效。
此包旨在提供一种可靠的实现方式,例如,可以将其打包在
用法
$targetClass = 'Acme\Blog\Post'; $replacementClass = 'Acme\Blog\Article'; $sourceCode = file_get_contents('SomeSource.php'); $classMover = new ClassMover(); $source = $classMover->replaceReferences( $classMover->findReferences($sourceCode, $targetClass) $replacementClass ); echo (string) $source;
贡献
此包是开源的,欢迎贡献!请随意在此存储库中打开一个pull请求。
支持
- 在主Phpactor仓库中创建问题。
- 加入Symfony Devs频道上的
#phpactor
频道。