首页 / 知识
PHP代码重构工具
2023-04-12 17:41:00

Tools for PHP code refactoring是否有支持重构PHP代码的工具(重命名变量,提取方法,查找方法引用等)? 谢谢。 Scisr是一个简单,独立的PHP重构工具。 我知道这是一个老问题,但是由于它是PHP重构工具最好的缺点之一,所以我想将新项目添加到列表中。 我的许多设计目标都是由于此处提到的其他项目的不足而产生的-它们与某些IDE绑定在一起,或者试图指示您的测试实践,或者需要大量死于繁琐的体力劳动。我希望在Scisr中创造一个更好的整体体验。安装和运行很简单。它试图变得聪明,但又不是太聪明。它完成了我发现最适合自动化的任务。请享用! rephactor是一种自动重构工具。它仍然有些不完整,但是有一些基本的重构。 否则,一个好的测试套件确实是重构的最佳工具。
Jetbrains的PHPStorm支持重构,
重命名重构适用于文件,函数,常量,类,属性,方法,参数以及局部和全局变量。
他们还提供了一些免费的开源项目许可! NetBeans IDE具有一些重构功能,但它似乎并不总是有效。但是,我将6.1与早期的PHP访问结合使用。我希望6.5在PHP中具有更好的重构功能。 https://github.com/QafooLabs/php-refactoring-browser PHP重构浏览器是该好书中描述的重构浏览器的最新版本。它可以使用一些帮助(请提供帮助),但是它支持几种常见的重构。 在撰写本文时,浏览器支持:
有一个SublimeText插件可以正常工作。在查看新代码时,我将应用一些简单的重构来帮助我掌握代码库。 我个人更喜欢PHPEclipse IDE作为我的主要开发工具。但是我真的很想念在那里重构的基本"替换项目中的所有地方"。 但是非常简单的find / sed命令可以轻松解决它:
因此,您可以明智地使用它来查找引用,重命名,删除和使用源代码进行各种操作。 顺便说一句:您甚至都不记得所有这些参数和属性-只需键入一次,然后通过反向i搜索将其调用。 希望这可以帮助。 Zend Studio可以重构一下..... 我最喜欢的重构工具还是与Total Commander的超快速文件搜索结合使用的良好的EditPlus。 (提示:Alt + F7)我完全同意马克·比耶克的回答,您希望完全控制何时何地更换什么。 每当我需要进行一些重构时,我都会在总指挥官中创建要更改的文件的列表,方法是使用内置函数搜索或仅选择它们,然后将它们全部拖至EditPlus Editplus可以使用常规文本匹配,正则表达式匹配或多行匹配来搜索和替换当前文件,选区或所有打开的文件。它确实可以让您完全控制:) 另外,用于代码重构的方便工具是EditPlus的Macro Recorder(Ctrl + Q键开始记录宏1-9,Alt + 1-9开始回放宏)。 一旦掌握了窍门,您就知道可以通过代码搜索变量ctrl + shift +(home || end ||箭头键),删除,复制/粘贴并使用键盘向导喜欢的所有方法,例如,在30秒内将CSV文件转换为一堆SQL查询。 也许仅仅是因为我对重构的概念仍然感到满意,但是我不喜欢有工具为我做。 我仍然更喜欢手动执行大多数重构,因为这会迫使我放慢速度,并真正考虑我要移动的内容以及原因。 刚刚发布了有关下一版PHP的Delphi的文章,您可以在其中看到重构引擎的作用。 http://blogs.embarcadero.com/joseleon/2010/06/09/delphi-for-php-next-release-early-preview-15-refactoring/ 从IntelliJ尝试Web IDE。现在它处于EAP阶段(alpha / beta),但是我将它用作唯一的IDE已有几个月了,因此它非常稳定而且非常好。 据我了解,PHP的IDE Delphi将在计划于2009年初发布的代号为Crocodile的版本中具有重构功能。有关详细信息,请参见此链接。 Netbeans 6.5中没有对PHP的重构支持,不过它会在将来的版本中提供。 PDT eclipse插件也不支持重构。 Aptana也不支持重构。我也无法使用goto定义。 我最终使用搜索并当前替换。我也至少希望重命名功能支持。 据我所知,唯一对PHP进行任何重要重构的IDE都是来自PHP和Eclipse PHP插件制造商的Zend Studio。虽然功能非常基本。据我所知,没有任何东西具有Resharper for C#等产品的功能。 PDT for Eclipse支持一些基本的重构(我知道)。您可以重命名类,并在引用它们时自动重命名它们,而且我认为您甚至可以移动文件并更改其包含/需要引用。 |
最新内容
相关内容
python有map方法吗
python有map方法吗,培训,位置,数据,函数,列表,序列,参数,元素,方法,使用方法,python中的map:map()会根据提供的函数对指定序列做映射。第一个python有哪些方法可以解压文件?
python有哪些方法可以解压文件?,工具,系统,工作,培训,文件,文件夹,方法,窗体,不同于,以下内容,在Python学习和日常使用中,很容易造成文件过大。python函数与方法的区别是什么
python函数与方法的区别是什么,培训,函数,方法,区别,对象,以上,方式,更多,内容,python中函数和方法的区别1、函数要手动传self,方法不用传selpython类自带方法吗
python类自带方法吗,培训,方法,里面,实例,也就是说,下面,对象,以上,之后,参数,python中的类,创建好之后,里面是没有方法的,也就是说,类并没有自带python子类可以调用父类方法吗
python子类可以调用父类方法吗,培训,名称,资料,情况,地方,函数,参数,方法,表示,语句,python中的子类中的__init__()函数会覆盖父类的函数,一些python静态方法怎么使用self
python静态方法怎么使用self,培训,管理,不了,方法,静态,属性,实例,变量,对象,参数,python-静态方法,类方法,属性方法静态方法实际上与类(或者实python魔术方法是什么
python魔术方法是什么,培训,通信,设计,第一,第三,数据,方法,实例,对象,参数,1、什么是魔术方法魔法方法就是可以给你的类增加魔力的特殊方法,python怎么理解Python的构造方法
python怎么理解Python的构造方法,代码,名字,培训,方法,参数,对象,以上,结尾,函数,开头,在创建类时,我们可以手动添加一个__init__()方法,该方法python不支持next方法吗
python不支持next方法吗,异常,培训,项目,方法,对象,元素,参数,函数,语法,文件,Python3中的File对象不支持next()方法。Python3有一个内置函数python列表操作的函数和方法
python列表操作的函数和方法,培训,位置,列表,元素,操作,函数,末尾,方法,对象,以下,1列表操作包含以下函数:21、cmp(list1,list2):比较两个列表python怎么调用类方法
python怎么调用类方法,培训,方法,实例,静态,定义,参数,属性,对象,关键字,以上,python中的类用来描述具有相同的属性和方法的对象的集合。它定python判断字符串是否为小数的方法
python判断字符串是否为小数的方法,培训,代码,合法,小数点,小数,整数,字符串,方法,右边,左边,python想判断一个字符串是不是一个合法的小数,但