五款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 相关文章推荐
分页显示Oracle数据库记录的类之一
Oct 09 PHP
十天学会php之第九天
Oct 09 PHP
php5数字型字符串加解密代码
Apr 24 PHP
微信公众号点击菜单即可打开并登录微站的实现方法
Nov 14 PHP
PHP+MySQL修改记录的方法
Jan 21 PHP
php基础设计模式大全(注册树模式、工厂模式、单列模式)
Aug 31 PHP
PHP的Yii框架中YiiBase入口类的扩展写法示例
Mar 17 PHP
php基于闭包实现函数的自调用(递归)实例分析
Nov 11 PHP
php 替换文章中的图片路径,下载图片到本地服务器的方法
Feb 06 PHP
php中钩子(hook)的原理与简单应用demo示例
Sep 03 PHP
laravel-admin select框默认选中的方法
Oct 03 PHP
php设计模式之中介者模式分析【星际争霸游戏案例】
Mar 23 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
多重?l件?合查?(二)
2006/10/09 PHP
php获取apk包信息的方法
2014/08/15 PHP
php学习笔记之面向对象
2014/11/08 PHP
js Form.elements[i]的使用实例
2011/11/13 Javascript
JS获取及设置TextArea或input文本框选择文本位置的方法
2015/03/24 Javascript
详解Document.Cookie
2015/12/25 Javascript
详解javascript实现自定义事件
2016/01/19 Javascript
JS中script标签defer和async属性的区别详解
2016/08/12 Javascript
本地Bootstrap文件字体图标引入却无法显示问题的解决方法
2020/04/18 Javascript
聊聊JavaScript如何实现继承及特点
2017/04/07 Javascript
javaScript和jQuery自动加载简单代码实现方法
2017/11/24 jQuery
详解Vue中使用Echarts的两种方式
2018/07/03 Javascript
Angular4 Select选择改变事件的方法
2018/10/09 Javascript
详解iview的checkbox多选框全选时校验问题
2019/06/10 Javascript
js+html实现周岁年龄计算器
2019/06/25 Javascript
详解element-ui表格中勾选checkbox,高亮当前行
2019/09/02 Javascript
基于纯JS实现多张图片的懒加载Lazy过程解析
2019/10/14 Javascript
vue相关配置文件详解及多环境配置详细步骤
2020/05/19 Javascript
JavaScript 实现拖拽效果组件功能(兼容移动端)
2020/11/11 Javascript
理解Python中函数的参数
2015/04/27 Python
python实现获取Ip归属地等信息
2016/08/27 Python
Python实现PS图像调整之对比度调整功能示例
2018/01/26 Python
python实现推箱子游戏
2020/03/25 Python
Python实现的大数据分析操作系统日志功能示例
2019/02/11 Python
python实现图书借阅系统
2019/02/20 Python
Pytorch 实现自定义参数层的例子
2019/08/17 Python
基于Tensorflow一维卷积用法详解
2020/05/22 Python
使用Tensorflow-GPU禁用GPU设置(CPU与GPU速度对比)
2020/06/30 Python
如何使用Python进行PDF图片识别OCR
2021/01/22 Python
英国最受欢迎的价格比较网站之一:MoneySuperMarket
2018/12/19 全球购物
PHP开发的一般流程
2013/08/13 面试题
如何写一份好的自荐信
2014/01/02 职场文书
竞选班干部演讲稿600字
2014/08/20 职场文书
杨善洲电影观后感
2015/06/04 职场文书
广播稿:校园广播稿范文
2019/04/17 职场文书
python基础之//、/与%的区别详解
2022/06/10 Python