五款PHP代码重构工具推荐


Posted in PHP onOctober 14, 2014

在软件工程学里,重构代码一词通常是指在不改变代码的外部行为情况下而修改源代码。软件重构需要借助工具完成,而重构工具能够修改代码同时修改所有引用该代码的地方。本文收集了五款出色的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]

3. PHP Refactoring Browser

这是一款PHP 代码的重构工具,通过生成diffs来描述重构的步骤,避免重构过程中的简单错误,该工具非常棒。项目托管在GitHub上。

使用库:

PHP Parser by Nikic
PHP Token Reflection from Ondřej Nešp

重构浏览器数据主要包含以下几个方面:

补丁——支持基于更改文件操作创建补丁;
重构——包含实际重构域和适配第三方库;
集合——基于PHP数组可靠添加集合语义。目前包含一组类型。

4. PhpStorm

五款PHP代码重构工具推荐

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 相关文章推荐
PHP 和 XML: 使用expat函数(一)
Oct 09 PHP
发布一个用PHP fsockopen写的HTTP下载的类
Feb 22 PHP
PHP 面向对象 final类与final方法
May 05 PHP
ThinkPHP空模块和空操作详解
Jun 30 PHP
ThinkPHP快速入门实例教程之数据分页
Jul 01 PHP
修改destoon会员公司的伪静态中的com目录的方法
Aug 21 PHP
PHP实现自动识别Restful API的返回内容类型
Feb 07 PHP
实例详解PHP中html word 互转的方法
Jan 28 PHP
PHP实现删除多重数组对象属性并重新赋值的方法
Jun 07 PHP
PHP 实现人民币小写转换成大写的方法及大小写转换函数
Nov 17 PHP
PHP中__set()实例用法和基础讲解
Jul 23 PHP
Laravel6.18.19如何优雅的切换发件账户
Jun 14 PHP
ThinkPHP 表单自动验证运用示例
Oct 13 #PHP
php 模拟 asp.net webFrom 按钮提交事件实例
Oct 13 #PHP
ThinkPHP表单自动验证实例
Oct 13 #PHP
Linux下安装oracle客户端并配置php5.3
Oct 12 #PHP
PHP依赖倒置(Dependency Injection)代码实例
Oct 11 #PHP
php实现设计模式中的单例模式详解
Oct 11 #PHP
PHP实现设计模式中的抽象工厂模式详解
Oct 11 #PHP
You might like
探讨如何使用SimpleXML函数来加载和解析XML文档
2013/06/07 PHP
php中define用法实例
2015/07/30 PHP
原生PHP实现导出csv格式Excel文件的方法示例【附源码下载】
2019/03/07 PHP
jQuery控制iFrame(实例代码)
2013/11/19 Javascript
JS数组去重与取重的示例代码
2014/01/24 Javascript
jquery使用jxl插件导出excel示例
2014/04/14 Javascript
IE6已终止操作问题的2种情况及解决
2014/04/23 Javascript
node.js不得不说的12点内容
2014/07/14 Javascript
js怎么判断flash swf文件是否加载完毕
2014/08/14 Javascript
AngularJS iframe跨域打开内容时报错误的解决办法
2015/01/26 Javascript
JavaScript计算两个日期时间段内日期的方法
2015/03/16 Javascript
学习javascript面向对象 javascript实现继承的方式
2016/01/04 Javascript
浅析如何利用angular结合translate为项目实现国际化
2016/12/08 Javascript
基于JS实现网页中的选项卡(两种方法)
2017/06/16 Javascript
JavaScript requestAnimationFrame动画详解
2017/09/14 Javascript
[09:47]2018DOTA2亚洲邀请赛4.5SOLO赛 No[o]ne vs Sumail
2018/04/06 DOTA
python静态方法实例
2015/01/14 Python
Python学习笔记整理3之输入输出、python eval函数
2015/12/14 Python
Python的高阶函数用法实例分析
2019/04/11 Python
使用tensorflow实现矩阵分解方式
2020/02/07 Python
深度学习入门之Pytorch 数据增强的实现
2020/02/26 Python
五种Python转义表示法
2020/11/27 Python
在HTML5 Canvas中放入图片和保存为图片的方法
2014/05/03 HTML / CSS
从零实现一个自定义html5播放器的示例代码
2017/08/01 HTML / CSS
HTML5 新表单类型示例代码
2018/03/20 HTML / CSS
瑞典Happy Socks美国官网:购买色彩斑斓的快乐袜子
2016/10/19 全球购物
工程造价管理专业大专生求职信
2013/10/06 职场文书
科室工作的个人自我评价
2013/10/30 职场文书
小学教师管理制度
2014/01/18 职场文书
《黄河颂》教学反思
2014/02/07 职场文书
咖啡店创业计划书范文
2014/09/15 职场文书
2015年父亲节寄语
2015/03/23 职场文书
实用干货:敬酒词大全,帮你应付各种场合
2019/11/21 职场文书
如何用threejs实现实时多边形折射
2021/05/07 Javascript
Vue如何实现组件间通信
2021/05/15 Vue.js
用Python编写简单的gRPC服务的详细过程
2021/07/04 Python