推荐五款优秀的PHP代码重构工具
在软件工程学里,重构代码一词通常是指在不改变代码的外部行为情况下而修改源代码。软件重构需要借助工具完成,而重构工具能够修改代码同时修改所有引用该代码的地方。本文收集了五款出色的PHP代码重构工具,以帮助你完善更加优秀的项目。
1. Rephactor
Rephactor是一款命令行重构工具,这是一款自动化工具,允许开发者以一种简洁的方式在不同的代码库中修改源码。
主要功能:
- 保证重构的可逆性—— 一旦发现问题,代码是可逆的,可以回溯到前一个版本。
- 查找替换功能—— 普通查找替换,方法重命名,类重命名,正则表达式模式的替换。
- 所有操作完成后,均基于SimpleTest Aperiplus进行测试,并保证测试的覆盖率。
- 集成Phemto ,保证类的相关性测试。
2. Scisr
Scisr是一款利用PHP编写的重构工具。项目托管在GitHub上。基于GPL许可证下发行。
使用方法:
类的重命名:
$ scisr rename-class OldName NewName [files]
修改方法:
$ scisr rename-method OwningClassName oldMethodName newMethodName [files]
文件重命名:
$ scisr rename-file old/file_name new/dir/new_file_name [files]
重命名类和文件:
$ scisr rename-class-file OldClassName NewClassName [files]
这是一款PHP 代码的重构工具,通过生成diffs来描述重构的步骤,避免重构过程中的简单错误,该工具非常棒。项目托管在GitHub上。
使用库:
- PHP Parser by Nikic
- PHP Token Reflection from Ondřej Nešp
重构浏览器数据主要包含以下几个方面:
- 补丁——支持基于更改文件操作创建补丁;
- 重构——包含实际重构域和适配第三方库;
- 集合——基于PHP数组可靠添加集合语义。目前包含一组类型。
4. PhpStorm
PhpStorm是由JetBrains公司开发的一款PHP IDE富应用,同时支持重构。PhpStorm可随时帮助用户对其编码进行调整,运行单元测试或者提供可视化调试功能。
目前,发布了PhpStorm 7版本,新版本支持PHP5.5;改进PHP语法着色性能;Vagrant、SSH 控制&远程工具;支持Drupal & PHP框架;改进调试和测试性能。
PhpStorm的主要特性:
- 智能PHP编码编辑器;
- 代码质量分析;
- 支持调试/测试;
- 支持HTML/CSS/JavaScript编辑器;
- 支持跨平台。
5. Zend Studio
Zend Studio是Zend Technologies开发的PHP语言集成开发环境。支持HTML和JS标签,但只对PHP语言提供调试支持。
主要特性:
- 具备功能强大的专业编辑工具和调试工具;
- 支持PHP语法高亮显示、语法自动填充功能,支持语法自动缩排和代码复制功能;
- 支持书签功能;
- 内置一个强大的PHP代码调试工具;
- 支持本地和远程两种调试模式,支持多种高级调试功能。
推荐五款优秀的PHP代码重构工具的更多相关文章
- 推荐一款优秀的web自动化测工具
在业务使用的自动化测试工具很多.有开源的,有商业化的,各有各得特色,各有各得优点!下面我就介绍几个我用过的一款非常优秀的国产自动化测试工具.在现有的自动化软件当中,都是以元素的name.id.xpat ...
- 推荐15款最好的 Twitter Bootstrap 开发工具
Twitter Bootstrap 自从2011年最初发布到网上后,迅速成为 Web 领域最流行的响应式前端开发框架之一,是网页设计的优秀实践.Twitter Bootstrap 框架包含了众多的预定 ...
- 五款轻量型bug管理工具横向测评
五款轻量型bug管理工具横向测评 最近正在使用的本地bug管理软件又出问题了,已经记不清这是第几次了,每次出现问题都要耗费大量的时间精力去网上寻找解决方案,劳心劳力.为了避免再次出现这样的情况,我决定 ...
- 推荐一款优秀的代码编辑软件--Source Insight
“工欲善其事,必先利其器”,好的工具能够提高我们办事的效率,进而提升团队乃至企业的竞争力. 对于软件开发工程师来说,选择一款优秀的代码编辑软件也是很重要的.最近,我看到有很多同事还在用微软的VC ++ ...
- 【JavsScript】推荐五款流行的JavaScript模板引擎
摘要:Javascript模板引擎作为数据与界面分离工作中最重要一环,受到开发者广泛关注.本文通过开发实例解析五款流行模板引擎:Mustache.Underscore Templates.Embedd ...
- 给你推荐10款优秀的 HTML5 动画工具
HTML5 在过去三年快速增长,已经成为 Web 开发人员最喜欢的编程语言之一.强大的编程语言拥有开发更好的网页应用的能力. HTML5 中引入的新技术都非常好,像 Chrome.Firefox.Sa ...
- 【转载】推荐5款超实用的.NET性能分析工具
来源:http://www.csdn.net/article/2012-11-23/2812174-5-Good-and-useful-.NET-Profilers 虽然.NET框架号称永远不会发生内 ...
- 推荐两款好用的反编译工具(Luyten,Jadx)
使用JD-Gui打开单个.class文件,总是报错// INTERNAL ERROR 但当我用jd-gui反编译前面操作获得的jar文件的时,但有一部分类不能显示出来--constants类,仅仅显示 ...
- c# 推荐5款超实用的.NET性能分析工具
虽然.NET框架号称永远不会发生内存泄漏,原因是引入了内存回收机制.但在实际应用中,往往我们分配了对象但没有释放指向该对象的引用,导致对象永远无法释放.最常见的情况就是给对象添加了事件处理函数,但当不 ...
随机推荐
- java.util.ArrayList源码分析
public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess ...
- Excel加载期间出现问题 解决方案
今天在处理Excle表格的时候出现了如图所示的问题,资料比较重要,需要进行恢复: 出现问题的原因就是在制作的时候,产生了某些临时的htm文件,但是只保留了excel,将那些临时文 ...
- Centos下如何修改Mysql的root密码
1.用帐号登录mysql mysql –u root 或#mysql –uroot –p 2.改变用户数据库 命令:mysql>use mysql mysql> use mysqlRead ...
- 看了些关于rem的知识点,在这做个自我总结归纳
我们最常用的字体单位是PX和EM. 首先px: px像素(Pixel).相对长度单位.像素px是相对于显示器屏幕分辨率而言的.(引自CSS2.0手册) px会随着屏幕分辨率的改变而改变,但是浏览器对页 ...
- java实现多模匹配算法
这个是好几年前写的了.都统一放到cnblogs上面. --------------------------------Node ---------------------------------- p ...
- xml直接读取节点
<root> <books> <book id="one"></book> <book id="two"& ...
- Asp.net Response.Redirect with post data
string url = String.Format("{0}://{1}/{2}", Request.Url.Scheme, Request.Url.Authority, &qu ...
- Android源代码编译——下载
下了好久的源代码,真真是慢哈.真希望国内有公司能够把镜像开放出来. 不多说,首先是系统环境,我的系统是Ubuntu 64位系统(14.04), 版本应该没什么. 需要的库 Git: 没话说必须, su ...
- RFC822DateGMT
function RFC822DateGMT(dd: TDateTime): string; const Days:..] of string= ('Sun','Mon','Tue','Wed','T ...
- VB 核心编程及通用模块开发 笔记1
前言:学习任何编程语言.编程工具的目的不外乎解决生活问题,能够快速.高效解决问题的方式就是不错的方式,至于选择什么“工具”,众位看官看着办,本人虽然有过3年vb开发经验,但是一直没有深入学习,现已购买 ...