phpactor/class-mover

此包已被弃用,不再维护。未建议替代包。

类移动库

0.2.0 2021-12-28 20:44 UTC

README

CI StyleCI

这是一个专门用于重构类位置的库。

它负责

  • 查找类的引用:查找类(或多个类)的所有引用。
  • 查找类方法的引用:查找类方法的引用,或类上的所有方法调用,或所有方法调用。
  • 替换类的引用:更新代码中的任何引用(使用给定方法,例如在路径下所有内容或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请求。

支持