五款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 base64+gzinflate压缩编码和解码代码
Oct 03 PHP
解析php中die(),exit(),return的区别
Jun 20 PHP
php设置允许大文件上传示例代码
Mar 10 PHP
php格式化时间戳显示友好的时间实现思路及代码
Oct 23 PHP
PHP内置的Math函数效率测试
Dec 01 PHP
php实现的RSS生成类实例
Apr 23 PHP
php中动态变量用法实例
Jun 10 PHP
php session的锁和并发
Jan 22 PHP
PHP读取mssql json数据中文乱码的解决办法
Apr 11 PHP
PHP DB 数据库连接类定义与用法示例
Mar 11 PHP
PHP查找一列有序数组是否包含某值的方法
Feb 07 PHP
tp5框架前台无限极导航菜单类实现方法分析
Mar 29 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
PHP实现十进制数字与二十六进制字母串相互转换操作示例
2018/08/10 PHP
PHPStorm2020.1永久激活及下载更新至2020(推荐)
2020/09/25 PHP
Web前端设计模式  制作漂亮的弹出层
2010/10/29 Javascript
javascript新建标签,判断键盘输入,以及判断焦点(示例代码)
2013/11/25 Javascript
使用Meteor配合Node.js编写实时聊天应用的范例
2015/06/23 Javascript
遮罩层点击按钮弹出并且具有拖动和关闭效果(两种方法)
2015/08/20 Javascript
js实现简洁大方的二级下拉菜单效果代码
2015/09/01 Javascript
微信小程序 缓存(本地缓存、异步缓存、同步缓存)详解
2017/01/17 Javascript
微信小程序 WebSocket详解及应用
2017/01/21 Javascript
js 博客内容进度插件详解
2017/02/19 Javascript
Bootstrap实现的标签页内容切换显示效果示例
2017/05/25 Javascript
zTree树形插件异步加载方法详解
2017/06/14 Javascript
详解基于webpack2.x的vue2.x的多页面站点
2017/08/21 Javascript
手把手教你用Node.js爬虫爬取网站数据的方法
2018/07/05 Javascript
详解javascript 变量提升(Hoisting)
2019/03/12 Javascript
jQuery实现视频展示效果
2020/05/30 jQuery
Vue elementui字体图标显示问题解决方案
2020/08/18 Javascript
vue 获取url参数、get参数返回数组的操作
2020/11/12 Javascript
[59:48]LGD vs IG 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python工程师面试必备25条知识点
2018/01/17 Python
pycharm中使用anaconda部署python环境的方法步骤
2018/12/19 Python
python+ffmpeg批量去视频开头的方法
2019/01/09 Python
python实现文件批量编码转换及注意事项
2019/10/14 Python
Python的对象传递与Copy函数使用详解
2019/12/26 Python
tensorflow模型保存、加载之变量重命名实例
2020/01/21 Python
Pycharm同步远程服务器调试的方法步骤
2020/11/04 Python
苹果香港官方商城:Apple香港
2016/09/14 全球购物
英国知名化妆品网站:Revolution Beauty(原TAM Beauty)
2018/02/28 全球购物
.NET程序员的几道面试题
2012/06/01 面试题
教育学专业实习生的自我鉴定
2013/11/26 职场文书
公司年会策划方案
2014/05/17 职场文书
关于奉献的演讲稿
2014/05/21 职场文书
关于运动会的广播稿
2014/09/22 职场文书
2014年控辍保学工作总结
2014/12/08 职场文书
办公室规章制度范本
2015/08/04 职场文书
《平移和旋转》教学反思
2016/02/19 职场文书