五款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 相关文章推荐
set_include_path在win和linux下的区别
Jan 10 PHP
几个php应用技巧
Mar 27 PHP
PHP Document 代码注释规范
Apr 13 PHP
PHP将回调函数作用到给定数组单元的方法
Aug 19 PHP
php数组排序usort、uksort与sort函数用法
Nov 17 PHP
php使用iconv中文截断问题的解决方法
Feb 11 PHP
PHP使用Pthread实现的多线程操作实例
Nov 14 PHP
详解php魔术方法(Magic methods)的使用方法
Feb 14 PHP
Laravel多用户认证系统示例详解
Mar 13 PHP
解决Laravel5.2 Auth认证退出失效的问题
Oct 14 PHP
Laravel 之url参数,获取路由参数的例子
Oct 21 PHP
如何在Mac上通过docker配置PHP开发环境
May 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 Mysql类 可以参考学习熟悉下
2009/06/21 PHP
PHP中array_merge和array相加的区别分析
2013/06/17 PHP
PHP合并数组的2种方法小结
2016/11/24 PHP
详解Yii实现分页的两种方法
2017/01/14 PHP
FormValid0.5版本发布,带ajax自定义验证例子
2007/08/17 Javascript
JavaScript下申明对象的几种方法小结
2008/10/02 Javascript
Mootools 1.2教程(3) 数组使用简介
2009/09/14 Javascript
如何让浏览器支持jquery ajax load 前进、后退功能
2014/06/12 Javascript
JavaScript匿名函数用法分析
2015/02/13 Javascript
JavaScript SHA-256加密算法详细代码
2016/10/06 Javascript
Javascript中for循环语句的几种写法总结对比
2017/01/23 Javascript
ES6入门教程之Iterator与for...of循环详解
2017/05/17 Javascript
Vue2 添加数据可视化支持的方法步骤
2019/01/02 Javascript
3分钟了解vue数据劫持的原理实现
2019/05/01 Javascript
微信小程序自定义组件实现环形进度条
2020/11/17 Javascript
Vue微信公众号网页分享的示例代码
2020/05/28 Javascript
python网络编程学习笔记(六):Web客户端访问
2014/06/09 Python
解决Tensorflow安装成功,但在导入时报错的问题
2018/06/13 Python
Python 从相对路径下import的方法
2018/12/04 Python
windows上安装python3教程以及环境变量配置详解
2019/07/18 Python
Python tcp传输代码实例解析
2020/03/18 Python
Python列表如何更新值
2020/05/27 Python
Python flask框架实现查询数据库并显示数据
2020/06/04 Python
香港优质食材和美酒专门店:FoodWise
2017/09/01 全球购物
什么是测试驱动开发(TDD)
2012/02/15 面试题
电子商务专业实习生自我鉴定
2013/09/24 职场文书
自动化专业本科毕业生求职信
2013/10/20 职场文书
销售总经理岗位职责
2014/03/15 职场文书
大学生新学期计划书
2014/04/28 职场文书
简单租房协议书范本
2014/08/20 职场文书
2016年大学生实习单位评语
2015/12/01 职场文书
500字作文之难忘的同学
2019/12/20 职场文书
Python实现DBSCAN聚类算法并样例测试
2021/06/22 Python
实操Python爬取觅知网素材图片示例
2021/11/27 Python
特别篇动画《总之就是非常可爱 ~制服~》PV公开,2022年夏季播出
2022/04/04 日漫
解决vue-router的beforeRouteUpdate不能触发
2022/04/14 Vue.js