用于PHP代码重构的工具

72 php refactoring

是否有任何工具支持重构PHP代码(重命名变量,提取方法,查找方法引用,......)?谢谢.

Ian*_*ung 13

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

我知道这是一个老问题,但由于它是PHP重构工具的最佳优化之一,我想我会将我的新项目添加到列表中.

我的很多设计目标源于这里提到的其他项目的不足之处 - 它们与某些IDE绑定在一起,或者试图指示您的测试实践,或者需要大量的死记硬背手工劳动.我希望在Scisr中创造一个更好的整体体验.它的安装和运行都很简单.它试图变得聪明,但不是聪明.它完成了我发现的最适合自动化的任务.请享用!


tro*_*skn 11

rephactor是一种自动重构工具.它仍然有点不完整,但它有一些基本的重构.

另外,一个好的测试套件真的是重构的最佳工具,你可以拥有.

  • 这使用正则表达式来查找代码.这根本不安全. (14认同)
  • @troelskn:从不?为什么要以损害您的计划的方式实施重构工具?这只意味着你有一个真正糟糕的重构工具.*技术上*直接做正确的*大多数重构*.这是很多工程上的汗水,大多数人不想为此付出代价,这就解释了为什么外面的东西通常都很糟糕.但这并不意味着重构工具*必须被打破. (6认同)
  • @troelskn:不一般.使用动态语言,是的,因为名称 - 实现绑定是在运行时完成的.静态语言,如Haskell或C++,其中名称 - 实现绑定在编译时完成,/在代码运行之前完成,可以提供保证的重构成功的.这就是动态语言一般很糟糕的原因. (6认同)
  • 自动重构永远不会.您应该在验证操作之前和之后进行测试.Rephactor实际上集成了之前/之后的测试流程. (5认同)

小智 7

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

重命名重构适用于文件,函数,常量,类,属性,方法,参数以及局部和全局变量.以下重构也可用:

  • 介绍变量
  • 介绍常数
  • 介绍Field
  • 内联变量

他们也为开源项目提供一些免费许可!

  • 实际上,这个IDE确实支持重构.不幸的是,它有一些可用性问题.我希望他们很快得到解决.例如,当您在选择中执行查找/替换时,编辑器窗口会全部跳过"全部替换".一般来说,我喜欢它并使用它虽然我会在心跳中选择Aptana,如果它支持重命名. (2认同)

Ros*_*oss 5

NetBeans IDE具有一些重构功能,但似乎并不总是有效.然而,我使用6.1与早期PHP访问.我希望6.5具有更好的PHP重构功能.