<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="推荐5款PHP代码重构工具（Rephactor、Scisr、PHP Refactoring Browser、PhpStorm、Zend Studio）" id="card1">
<p> 游客</p><p>
标题:推荐5款PHP代码重构工具（Rephactor、Scisr、PHP Refactoring Browser、PhpStorm、Zend Studio）<br/>
正文:<br/>
在软件工程学里，重构代码一词通常是指在不改变代码的外部行为情况下而修改源代码。软件重构需要借助工具完成，而重构工具能够修改代码同时修改所有引用该代码的地方。本文收集了五款出色的PHP代码重构工具，以帮助你完善更加优秀的项目。　　1. Rephactor　　Rephactor是一款命令行重构工具，这是一款自动化工具，允许开发者以一种简洁的方式在不同的代码库中修改源码。　　主要功能：保证重构的可逆性&amp;mdash;&amp;mdash; 一旦发现问题，代码是可逆的，可以回溯到前一个版本。查找替换功能&amp;mdash;&amp;mdash; 普通查找替换，方法重命名，类重命名，正则表达式模式的替换。所有操作完成后，均基于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 NikicPHP Token Reflection from Ondřej Ne&amp;scaron;p重构浏览器数据主要包含以下几个方面：补丁&amp;mdash;&amp;mdash;支持基于更改文件操作创建补丁；重构&amp;mdash;&amp;mdash;包含实际重构域和适配第三方库；集合&amp;mdash;&amp;mdash;基于PHP数组可靠添加集合语义。<br/><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1821&amp;Page=1">[&lt;&lt;]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1821&amp;Page=1">[[1]]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1821&amp;Page=2">[2]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1821&amp;Page=2">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=1821">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=1821">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://camnpr.com/wap.asp">首页</a>
</p>
</card>
</wml>