PHP代码重构工具

有什么工具支持重构PHP代码(重命名variables,提取方法,查找方法引用,…)? 谢谢。

rephactor是一个自动重构工具。 它还有点不完整,但有一些基本的重构。

否则,一个好的testing套件真的是重构的最佳工具,你可以拥有。

Scisr是一个简单的,独立的PHP重构工具。

我知道这是一个老问题,但是因为它是PHP重构工具中最好的一个,所以我想我会把我的新项目添加到列表中。

我的很多devise目标都是从这里提到的其他项目的不足之处涌现出来的 – 它们被绑定到某些IDE中,或者试图指定你的testing实践,或者需要大量的手工劳动。 我希望在Scisr中创造一个更好的整体体验。 这很容易安装和运行。 它试图聪明,但不是聪明。 它完成了我发现最适合自动化的任务。 请享用!

来自Jetbrains的PHPStorm支持重构, http://www.jetbrains.com/phpstorm/index.html

重命名重构适用于文件,函数,常量,类,属性,方法,参数以及本地和全局variables。 还有以下重构可用:

  • 介绍variables
  • 介绍常量
  • 介绍领域
  • 内联variables

他们还提供一些免费的开源项目许可证!

NetBeans IDE具有一些重构function,但似乎并不总能奏效。 然而,我使用早期的PHP访问6.1。 我预计6.5将有更好的PHP重构function。

https://github.com/QafooLabs/php-refactoring-browser

PHP重构浏览器是这本好书中描述的重构浏览器的更新版本。 它可以使用一些帮助(请贡献),但它支持几个常见的重构。

截至撰写时,浏览器支持:

  • 提取方法
  • 重命名本地variables
  • 将本地转换为实例variables
  • 重命名类和命名空间
  • 优化使用语句(PHP专用)

有一个SublimeText插件,其实际工作。 当我在查看新代码时,我将应用这些简单的重构来帮助我处理代码库。

也许只是因为我仍然习惯于重构的概念,但我不喜欢有一个工具为我做。

我仍然倾向于手动进行大部分的重构,因为这会迫使我放慢速度,真正思考我在为什么而移动。

我个人更喜欢PHPEclipse IDE作为我的主要开发工具。 但是我真的很想念基本的“替代项目”,在那里重构。

但是很简单的find / sed命令可以轻松解决:

find . -type f -name "*Controller.php" -print0 \ | xargs -0 sed -i 's/string1/string2/g' 

因此,使用这个智能你可以find参考,重命名,删除和任何forms的操作与源代码。

顺便说一句:你甚至不记得所有这些参数和属性 – 只需input一次,然后通过反向search来调用它。

希望这可以帮助。

仍然我最喜欢的重构工具是EditPlus和Total Commander的超级快速文件searchfunction。 (提示:Alt + F7)我完全同意Mark Biek的回复,你想完全控制什么时候被replace的东西。

每当我必须做一些重构,我创build一个列表,我想通过内置函数search或只是通过select他们改变的文件总指挥官,然后我把他们全部拖到EditPlus

Editplus可以search和replace通过当前文件,select或所有打开的文件使用正常的文本匹配,正则expression式匹配或多行匹配。 它真的给你完全控制:)

而且,EditPlus的Macro Recorder(Ctrl + Q开始录制macros1-9和Alt + 1-9来播放一个macros)代码重构。

一旦你掌握了它,你知道你可以通过你的代码search一个variables,Ctrl + Shift +(Home || end ||箭头键),删除,复制/粘贴和使用键盘向导喜欢,例如,在30秒内将CSV文件转换为一堆SQL查询。

Zend Studio可以重构一下…..

Netbeans 6.5中没有对PHP的重构支持,不过它将在未来的版本中出现。

PDT eclipse插件也不支持重构。

Aptana也不支持重构。 我也无法让定义工作。

我最终使用search和replace目前。 我也想至less重命名function的支持。

我读到IDE Delphi for PHP将在2009年初发布代码为Crocodile的发行版中具有重构function。请参阅此链接了解详细信息。

从IntelliJ尝试Web IDE。 现在在EAP阶段(alpha / beta),但是我把它作为唯一的IDE使用了好几个月,所以它稳定而且非常好。

刚刚发表了一篇关于Delphi for PHP的下一个版本的文章,您可以在其中看到重构引擎的作用。

http://blogs.embarcadero.com/joseleon/2010/06/09/delphi-for-php-next-release-early-preview-15-refactoring/

Eclipse的PDT支持一些基本的重构(我知道的)。 您可以重命名类并在引用时自动重命名类,并且我认为您甚至可以移动文件并更改包含/需要的引用。

据我所知,唯一对PHP有重要支持的IDE是来自PHP和Eclipse PHP插件制造商的Zend Studio 。 虽然function是非常基本的。 我所知道的没有什么像Resharper for C#等产品的function