五款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 相关文章推荐
sphinx增量索引的一个问题
Jun 14 PHP
shopex中集成的站长统计功能的代码简单分析
Aug 11 PHP
php若干单维数组遍历方法的比较
Sep 20 PHP
用Php编写注册后Email激活验证的实例代码
Mar 11 PHP
PHP连接sql server 2005环境配置及问题解决
Aug 08 PHP
php获取apk包信息的方法
Aug 15 PHP
PHP Cookie学习笔记
Aug 23 PHP
YII2框架中使用yii.js实现的post请求
Apr 09 PHP
Yii框架实现图片上传的方法详解
May 20 PHP
Symfony2针对输入时间进行查询的方法分析
Jun 28 PHP
PHP图片水印类的封装
Jul 06 PHP
在Laravel5.6中使用Swoole的协程数据库查询
Jun 15 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
Apache设置虚拟WEB
2006/10/09 PHP
PHP中输出转义JavaScript代码的实现代码
2011/04/22 PHP
javascript客户端解决方案 缓存提供程序
2010/07/14 Javascript
jQuery的初始化与对象构建之浅析
2011/04/12 Javascript
js 控制图片大小核心讲解
2013/10/09 Javascript
写出高效jquery代码的19条指南
2014/03/19 Javascript
分享javascript实现的冒泡排序代码并优化
2016/06/05 Javascript
jqGrid用法汇总(全经典)
2016/06/28 Javascript
浅谈$('div a') 与$('div>a')的区别
2016/07/18 Javascript
nodejs实现爬取网站图片功能
2017/12/14 NodeJs
Vue与Node.js通过socket.io通信的示例代码
2018/07/25 Javascript
微信{"errcode":48001,"errmsg":"api unauthorized, hints: [ req_id: 1QoCla0699ns81 ]"}
2018/10/12 Javascript
JavaScript对象拷贝与赋值操作实例分析
2018/12/10 Javascript
vue生命周期与钩子函数简单示例
2019/03/13 Javascript
vue使用@scroll监听滚动事件时,@scroll无效问题的解决方法详解
2019/10/15 Javascript
vue实现简单瀑布流布局
2020/05/28 Javascript
完美解决vue 中多个echarts图表自适应的问题
2020/07/19 Javascript
JavaScript前后端JSON使用方法教程
2020/11/23 Javascript
vue穿梭框实现上下移动
2021/01/29 Vue.js
[01:07:15]DOTA2-DPC中国联赛 正赛 DLG vs XG BO3 第二场 1月25日
2021/03/11 DOTA
Python 数据处理库 pandas 入门教程基本操作
2018/04/19 Python
Python enumerate函数功能与用法示例
2019/03/01 Python
Python3实现汉语转换为汉语拼音
2019/07/08 Python
python通过对字典的排序,对json字段进行排序的实例
2020/02/27 Python
html5中监听canvas内部元素点击事件的三种方法
2019/04/28 HTML / CSS
世界上最好的帽子:Tilley
2016/11/27 全球购物
葡萄牙鞋子品牌:Fair
2016/12/10 全球购物
Amara德国:家居饰品、设计师品牌和豪华礼品
2019/05/20 全球购物
JAVA中的关键字有什么特点
2014/03/07 面试题
学校节能宣传周活动总结
2014/07/09 职场文书
初三语文教学计划
2015/01/22 职场文书
环卫工人慰问信
2015/02/15 职场文书
综合素质评价个性与发展自我评价
2015/03/06 职场文书
材料员岗位职责范本
2015/04/11 职场文书
超搞笑婚前保证书
2015/05/08 职场文书
2016婚礼主持词开场白
2015/11/24 职场文书