五款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 相关文章推荐
DISCUZ 分页代码
Jan 02 PHP
Zend Studio for Eclipse的java.lang.NullPointerException错误的解决方法
Dec 06 PHP
php实现自动获取生成文章主题关键词功能的深入分析
Jun 03 PHP
排序算法之PHP版快速排序、冒泡排序
Apr 09 PHP
PHP5.2下preg_replace函数的问题
May 08 PHP
php去掉文件前几行的方法
Jul 29 PHP
php自定义函数实现二维数组按指定key排序的方法
Sep 29 PHP
php mysql数据库操作类(实例讲解)
Aug 06 PHP
yii2实现Ueditor百度编辑器的示例代码
Nov 02 PHP
Laravel框架中缓存的使用方法分析
Sep 06 PHP
Thinkphp5.0 框架Model模型简单用法分析
Oct 11 PHP
THINKPHP5.1 Config的配置与获取详解
Jun 08 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
第十四节--命名空间
2006/11/16 PHP
PHP中HTML标签过滤技巧
2014/01/07 PHP
yii2.0实现pathinfo的形式访问的配置方法
2016/04/06 PHP
PHP7新特性foreach 修改示例介绍
2016/08/26 PHP
PHP简单实现循环链表功能示例
2017/11/10 PHP
wordpress之js库集合研究介绍
2007/08/17 Javascript
文本框根据输入内容自适应高度的代码
2011/10/24 Javascript
Extjs显示从数据库取出时间转换JSON后的出现问题
2012/11/20 Javascript
jquery 列表双向选择器之改进版
2013/08/09 Javascript
跟我学Nodejs(二)--- Node.js事件模块
2014/05/21 NodeJs
JS小游戏之极速快跑源码详解
2014/09/25 Javascript
Bootstrap表单Form全面解析
2016/06/13 Javascript
浅谈javascript运算符——条件,逗号,赋值,()和void运算符
2016/07/15 Javascript
jquery判断iPhone、Android设备类型
2016/09/14 Javascript
详解Nodejs的timers模块
2016/12/22 NodeJs
JavaScript实现瀑布流以及加载效果
2017/02/11 Javascript
Vue单页面应用保证F5强刷不清空数据的解决方案
2018/01/31 Javascript
使用JavaScript获取Django模板指定键值数据
2020/05/27 Javascript
vue实现列表滚动的过渡动画
2020/06/29 Javascript
vue打开子组件弹窗都刷新功能的实现
2020/09/21 Javascript
Python 字符串大小写转换的简单实例
2017/01/21 Python
PyQt5每天必学之事件与信号
2018/04/20 Python
Python实现读取SQLServer数据并插入到MongoDB数据库的方法示例
2018/06/09 Python
python+unittest+requests实现接口自动化的方法
2018/11/29 Python
Python运行DLL文件的方法
2020/01/17 Python
python连接mysql数据库并读取数据的实现
2020/09/25 Python
Python实现列表索引批量删除的5种方法
2020/11/16 Python
python使用dlib进行人脸检测和关键点的示例
2020/12/05 Python
香港永安旅游网:Wing On Travel
2017/04/10 全球购物
Europcar西班牙:全球汽车租赁领域的领导者
2018/09/17 全球购物
会计专业毕业生自荐信范文
2013/12/20 职场文书
乡镇三严三实学习心得体会
2014/10/13 职场文书
义诊活动总结
2015/02/04 职场文书
学术会议通知
2015/04/15 职场文书
婚宴父母致辞
2015/07/27 职场文书
CSS 使用 resize 实现图片拖拽切换预览功能(强大功能)
2021/08/23 HTML / CSS