五款PHP代码重构工具推荐

yipeiwu_com6年前PHP代码库

在软件工程学里,重构代码一词通常是指在不改变代码的外部行为情况下而修改源代码。软件重构需要借助工具完成,而重构工具能够修改代码同时修改所有引用该代码的地方。本文收集了五款出色的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

  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实现顺时针打印矩阵的方法。分享给大家供大家参考,具体如下: 问题 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵:...

详解PHP对数组的定义以及数组的创建方法

传统上把数组(array)定义为一组有某种共同特性的元素,这里的共同特性包括相似性(车模、棒球队、水果类型等)和类型(例如所有元素都是字符串或整数)等,每个元素由一个特殊的标识符来区分,...

PHP实现的浏览器检查类

本文实例讲述了PHP实现的浏览器检查类。分享给大家供大家参考,具体如下: <?php //原作者:epsilon7 //SonyMusic([email]sonymus...

PHP大转盘中奖概率算法实例

本文实例讲述了PHP大转盘中奖概率算法的实现方法,分享给大家供大家参考。具体如下: 大转盘是最近很多线上网动中一个比较有意思的东西了,下面我们就来看看这个大转盘中奖概率算法与例子,希望对...

PHP遍历二维数组的代码

一开始打算用foreach来历遍,但是发现没有成功,oo不过关,没办法oo写······ 研究后决定用for循环,演示代码如下: 复制代码 代码如下: <?php $blog=ar...