承接 phpactor/class-mover 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

phpactor/class-mover

最新稳定版本:0.2.0

Composer 安装命令:

composer require phpactor/class-mover

包简介

Library for moving classes

README 文档

README

CI StyleCI

This is a library dedicated to refactoring class locations.

It takes care of:

  • Finding references to a class: Find all references to a class (or classes).
  • Finding references to class methods: Find references to a class method, or all method calls on a class, or all method calls ever.
  • Replacing references to the class: Update any references in the code (using a given method, e.g. all under a path or all files in the git repo).
  • Modifying use statements: update any use statements for the replaced class.
  • Adding use cases: where necessary.

Why?

When using an editor such as VIM, one of the biggest issues I face is moving classes and replacing their references - it is such a big issue for me that I rarely do it.

Current approaches involve git moving the class, then running a for loop in bash over a set of files and applying perl replace to them, piping the output of that to a temporary file and then moving that temporary file to overwrite the old one. And that doesn't always work well.

This package aims to provide a solid way of doing this, and can, for example, be packaged in an

Usage

$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;

Contributing

This package is open source and welcomes contributions! Feel free to open a pull request on this repository.

Support

  • Create an issue on the main Phpactor repository.
  • Join the #phpactor channel on the Slack Symfony Devs channel.

统计信息

  • 总下载量: 47.83k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 4
  • 点击次数: 1
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 4
  • Watchers: 2
  • Forks: 2
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2018-04-01