五款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自动获取目录下的模板的代码
Aug 08 PHP
PHP中全面阻止SQL注入式攻击分析小结
Jan 30 PHP
Eclipse中php插件安装及Xdebug配置的使用详解
Apr 25 PHP
PHP引用(&)各种使用方法实例详解
Mar 20 PHP
PHP判断文章里是否有图片的简单方法
Jul 26 PHP
深入理解PHP中的global
Aug 19 PHP
PHP实现UTF-8文件BOM自动检测与移除实例
Nov 05 PHP
ECshop 迁移到 PHP7版本时遇到的兼容性问题
Feb 15 PHP
PHP基于方差和标准差计算学生成绩的稳定性示例
Jul 04 PHP
PHP面向对象五大原则之开放-封闭原则(OCP)详解
Apr 04 PHP
让Laravel API永远返回JSON格式响应的方法示例
Sep 05 PHP
php微信公众号开发之快递查询
Oct 20 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
smarty静态实验表明,网络上是错的~呵呵
2006/11/25 PHP
从零开始学YII2框架(一)通过Composer安装Yii2框架
2014/08/20 PHP
PHP简单实现文本计数器的方法
2016/04/28 PHP
php_pdo 预处理语句详解
2016/11/21 PHP
Thinkphp5行为使用方法汇总
2017/12/21 PHP
为Plesk PHP7启用Oracle OCI8扩展方法总结
2019/03/29 PHP
设定php简写功能的方法
2019/11/28 PHP
JQuery 获取json数据$.getJSON方法的实例代码
2013/08/02 Javascript
js获取和设置属性的方法
2014/02/20 Javascript
代码获取历史上的今天发生的事
2014/04/11 Javascript
jQuery实现统计输入文字个数的方法
2015/03/11 Javascript
详解页面滚动值scrollTop在FireFox与Chrome浏览器间的兼容问题
2015/12/03 Javascript
JavaScript中instanceof运算符的使用示例
2016/06/08 Javascript
值得分享的bootstrap table实例
2016/09/22 Javascript
概述jQuery的元素筛选
2016/11/23 Javascript
canvas绘制七巧板
2017/02/03 Javascript
Angular4表单验证代码详解
2017/09/03 Javascript
Vue中$refs的用法详解
2018/06/24 Javascript
node.js连接mysql与基本用法示例
2019/01/05 Javascript
layui问题之渲染数据表格时,仅出现10条数据的解决方法
2019/09/12 Javascript
python实现的重启关机程序实例
2014/08/21 Python
在Linux中通过Python脚本访问mdb数据库的方法
2015/05/06 Python
Python读取word文本操作详解
2018/01/22 Python
Pandas删除数据的几种情况(小结)
2019/06/21 Python
详解Python中的路径问题
2020/09/02 Python
如何将json数据转换为python数据
2020/09/04 Python
深入解读CSS3中transform变换模型的渲染
2016/05/27 HTML / CSS
css3让div随鼠标移动而抖动起来
2014/02/10 HTML / CSS
使用phonegap进行提示操作的具体方法
2017/03/30 HTML / CSS
微观物理专业自荐信
2014/01/26 职场文书
入党积极分子学习两会心得体会范文
2014/03/17 职场文书
运输服务质量承诺书
2014/03/27 职场文书
2014年污水处理厂工作总结
2014/12/19 职场文书
工作检讨书大全
2015/01/26 职场文书
2015年学校综合治理工作总结
2015/07/20 职场文书
小米11和iphone12哪个值得买?小米11对比iphone12评测
2021/04/21 数码科技