五款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中的CMS的涵义
Mar 11 PHP
PHP生成带有雪花背景的验证码
Sep 28 PHP
php 中文字符入库或显示乱码问题的解决方法
Apr 12 PHP
PHP数组的交集array_intersect(),array_intersect_assoc(),array_inter_key()函数的小问题
May 29 PHP
PHP三元运算的2种写法代码实例
May 12 PHP
PHP性能分析工具XHProf安装使用教程
May 13 PHP
使用PHP实现下载CSS文件中的图片
Dec 06 PHP
[原创]php集成安装包wampserver修改密码后phpmyadmin无法登陆的解决方法
Nov 23 PHP
ThinkPHP Where 条件中常用表达式示例(详解)
Mar 31 PHP
PHP实现驼峰样式字符串(首字母大写)转换成下划线样式字符串的方法示例
Aug 10 PHP
PHP+Apache环境中如何隐藏Apache版本
Nov 24 PHP
PHP array_reduce()函数的应用解析
Oct 28 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在各种web服务器的运行模式详解
2013/06/03 PHP
PHP排序算法之基数排序(Radix Sort)实例详解
2018/04/21 PHP
Laravel学习笔记之Artisan命令生成自定义模板的方法
2018/11/22 PHP
php session_decode函数用法讲解
2019/05/26 PHP
JavaScript 一行代码,轻松搞定浮动快捷留言-V2升级版
2010/04/02 Javascript
使用javascript:将其它类型值转换成布尔类型值的解决方法详解
2013/05/07 Javascript
利用JS延迟加载百度分享代码,提高网页速度
2013/07/01 Javascript
自动设置iframe大小的jQuery代码
2013/09/11 Javascript
Node.js事件循环(Event Loop)和线程池详解
2015/01/28 Javascript
jQuery中delegate()方法的用法详解
2016/10/13 Javascript
Javascript for in的缺陷总结
2017/02/03 Javascript
微信小程序 UI与容器组件总结
2017/02/21 Javascript
完美解决浏览器跨域的几种方法(汇总)
2017/05/08 Javascript
使用ef6创建oracle数据库的实体模型遇到的问题及解决方案
2017/11/09 Javascript
详细分析JS函数去抖和节流
2017/12/05 Javascript
详解JavaScript作用域、作用域链和闭包的用法
2020/09/03 Javascript
[04:29]2014DOTA2国际邀请赛 主赛事第三日TOPPLAY
2014/07/21 DOTA
Python中模拟enum枚举类型的5种方法分享
2014/11/22 Python
python计算对角线有理函数插值的方法
2015/05/07 Python
Python2.x与Python3.x的区别
2016/01/14 Python
python破解zip加密文件的方法
2018/05/31 Python
Python实现获取本地及远程图片大小的方法示例
2018/07/21 Python
Django中间件拦截未登录url实例详解
2019/09/03 Python
Django:使用filter的pk进行多值查询操作
2020/07/15 Python
菲律宾票务网站:StubHub菲律宾
2018/04/21 全球购物
Rossignol金鸡美国官网:始于1907年法国百年雪具品牌
2019/03/06 全球购物
历史学专业个人的自我评价
2013/10/13 职场文书
初中生学习生活的自我评价
2013/11/20 职场文书
公司委托书格式范文
2014/04/04 职场文书
我的小天地教学反思
2014/04/30 职场文书
倡议书范文格式
2014/05/12 职场文书
医药公司采购员岗位职责
2014/09/12 职场文书
个人批评与自我批评材料
2014/10/17 职场文书
2015年护士工作总结范文
2015/03/31 职场文书
2015年小学英语教师工作总结
2015/05/12 职场文书
Go语言grpc和protobuf
2022/04/13 Golang