是否有任何工具支持重构PHP代码(重命名变量,提取方法,查找方法引用等)?谢谢。
是否有任何工具支持重构PHP代码(重命名变量,提取方法,查找方法引用等)?谢谢。
Answers:
Scisr是一个简单,独立的PHP重构工具。
我知道这是一个老问题,但是由于它是PHP重构工具最好的缺点之一,所以我想将新项目添加到列表中。
我的许多设计目标都是出于此处提到的其他项目的不足而产生的-它们与某些IDE绑定在一起,或者试图指示您的测试实践,或者需要大量死于繁琐的体力劳动。我希望在Scisr中创造一个更好的整体体验。安装和运行很简单。它试图变得聪明,但又不是太聪明。它完成了我发现最适合自动化的任务。请享用!
rephactor是一种自动重构工具。它仍然有些不完整,但是有一些基本的重构。
否则,一个好的测试套件确实是重构的最佳工具。
Jetbrains的PHPStorm支持重构, http://www.jetbrains.com/phpstorm/index.html
重命名重构适用于文件,函数,常量,类,属性,方法,参数以及局部和全局变量。还提供以下重构:
他们还提供一些免费的开源项目许可证!
NetBeans IDE具有一些重构功能,但它似乎并不总是有效。但是,我将6.1与早期的PHP访问结合使用。我希望6.5在PHP中具有更好的重构功能。
https://github.com/QafooLabs/php-refactoring-browser
PHP重构浏览器是该好书中描述的重构浏览器的最新版本。它可以使用一些帮助(请提供帮助),但是它支持几种常见的重构。
在撰写本文时,浏览器支持:
有一个SublimeText插件可以正常工作。在查看新代码时,我将应用一些简单的重构来帮助我掌握代码库。
我最喜欢的重构工具还是EditPlus结合Total Commander的超快速文件搜索功能。(提示:Alt + F7)我完全同意马克·比耶克的回答,您希望完全控制何时何地更换什么。
每当我必须进行一些重构时,我都会在总指挥官中创建要更改的文件的列表,方法是使用内置函数搜索或仅通过选择它们,然后将它们全部拖至EditPlus
Editplus可以使用常规文本匹配,正则表达式匹配或多行匹配来搜索和替换当前文件,选区或所有打开的文件。它确实可以让您完全控制:)
此外,用于代码重构的方便工具是EditPlus的Macro Recorder(Ctrl + Q键开始记录宏1-9,Alt + 1-9开始回放宏)。
掌握了要点之后,您便知道可以通过代码搜索变量ctrl + shift +(home || end ||箭头键),删除,复制/粘贴并使用键盘向导喜欢的所有方法,例如,在30秒内将CSV文件转换为一堆SQL查询。
我个人更喜欢PHPEclipse IDE作为我的主要开发工具。但是我真的很想念在那里重构的基本“替换项目中的所有地方”。
但是非常简单的find / sed命令可以轻松解决它:
find . -type f -name "*Controller.php" -print0 \
| xargs -0 sed -i 's/string1/string2/g'
因此,您可以明智地使用它来查找引用,重命名,删除和使用源代码进行各种操作。
顺便说一句:您甚至都不记得所有这些参数和属性-只需键入一次,然后通过reverse-i-search进行调用。
希望这可以帮助。
也许仅仅是因为我对重构的概念仍然感到满意,但是我不喜欢拥有工具来帮助我。
我仍然更喜欢手动执行大多数重构,因为这会迫使我放慢速度,并真正考虑我要移动的内容以及原因。
我了解到,用于PHP的IDE Delphi将在计划于2009年初发布的代号为Crocodile的版本中具有重构功能。有关详细信息,请参见此链接。
从IntelliJ尝试Web IDE。现在它处于EAP阶段(alpha / beta),但是我将它用作唯一的IDE已有几个月了,因此它非常稳定而且非常好。
刚刚发布了有关下一版PHP的Delphi的文章,您可以在其中看到重构引擎的作用。
据我所知,唯一对PHP进行任何重要重构的IDE都是来自PHP和Eclipse PHP插件制造商的Zend Studio。虽然功能非常基本。据我所知,没有任何东西具有Resharper for C#等产品的功能。