五款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 相关文章推荐
如何将数据从文本导入到mysql
Oct 09 PHP
PHP新手上路(九)
Oct 09 PHP
如何使用PHP中的字符串函数
Nov 24 PHP
PHP 中的批处理的实现
Jun 14 PHP
解析php中获取url与物理路径的总结
Jun 21 PHP
php文件下载处理方法分析
Apr 22 PHP
学习php设计模式 php实现策略模式(strategy)
Dec 07 PHP
PHP实现加密文本文件并限制特定页面的存取的效果
Oct 21 PHP
golang 调用 php7详解及实例
Jan 04 PHP
PHP正则匹配到2个字符串之间的内容方法
Dec 24 PHP
PHP小程序支付功能完整版【基于thinkPHP】
Mar 26 PHP
laravel与thinkphp之间的区别与优缺点
Mar 02 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与ASP
2006/10/09 PHP
php合并数组array_merge函数运算符加号与的区别
2008/10/31 PHP
关于尾递归的使用详解
2013/05/02 PHP
PHP数组遍历知识汇总(包含遍历方法、数组指针操作函数、数组遍历测速)
2014/07/05 PHP
PHP 正则表达式常用函数
2014/08/17 PHP
PHP中substr()与explode()函数用法分析
2014/11/24 PHP
Laravel使用Caching缓存数据减轻数据库查询压力的方法
2016/03/15 PHP
PHP简单遍历对象示例
2016/09/28 PHP
详谈phpAdmin修改密码后拒绝访问的问题
2017/04/03 PHP
PHP实现支持CURL字符串证书传输的方法
2019/03/23 PHP
jquery tools之tabs 选项卡/页签
2009/07/25 Javascript
JavaScript/Js脚本处理html元素的自定义属性解析(亲测兼容Firefox与IE)
2013/11/25 Javascript
JavaScript实现继承的4种方法总结
2014/10/16 Javascript
JS实现倒计时和文字滚动的效果实例
2014/10/29 Javascript
jquery控制背景音乐开关与自动播放提示音的方法
2015/02/06 Javascript
javascript实现列表切换效果
2016/05/02 Javascript
AngularJS基础 ng-value 指令简单示例
2016/08/03 Javascript
微信小程序  Mustache语法详细介绍
2016/10/27 Javascript
XMLHttpRequest对象_Ajax异步请求重点(推荐)
2017/09/28 Javascript
Angular 利用路由跳转到指定页面的指定位置方法
2018/08/31 Javascript
vue自定义全局共用函数详解
2018/09/18 Javascript
浅谈Layui的eleTree树式选择器使用方法
2019/09/25 Javascript
python登录pop3邮件服务器接收邮件的方法
2015/04/30 Python
python实现字符串和日期相互转换的方法
2015/05/13 Python
djang常用查询SQL语句的使用代码
2019/02/15 Python
python调用Matplotlib绘制分布点图
2019/10/18 Python
python退出循环的方法
2020/06/18 Python
python Scrapy框架原理解析
2021/01/04 Python
使用Python封装excel操作指南
2021/01/29 Python
入团者的自我评价分享
2013/12/02 职场文书
王老吉广告词
2014/03/20 职场文书
小学生暑假家长评语
2014/04/17 职场文书
优秀三好学生事迹材料
2014/08/31 职场文书
Redis IP地址的绑定的实现
2021/05/08 Redis
Linux7.6二进制安装Mysql8.0.27详细操作步骤
2021/11/27 MySQL
Go 中的空白标识符下划线
2022/03/25 Golang