五款PHP代碼重構(gòu)工具推薦
在軟件工程學(xué)里,重構(gòu)代碼一詞通常是指在不改變代碼的外部行為情況下而修改源代碼。軟件重構(gòu)需要借助工具完成,而重構(gòu)工具能夠修改代碼同時(shí)修改所有引用該代碼的地方。本文收集了五款出色的PHP代碼重構(gòu)工具,以幫助你完善更加優(yōu)秀的項(xiàng)目。
1. Rephactor
Rephactor是一款命令行重構(gòu)工具,這是一款自動(dòng)化工具,允許開發(fā)者以一種簡(jiǎn)潔的方式在不同的代碼庫(kù)中修改源碼。
主要功能:
保證重構(gòu)的可逆性—— 一旦發(fā)現(xiàn)問題,代碼是可逆的,可以回溯到前一個(gè)版本。
查找替換功能—— 普通查找替換,方法重命名,類重命名,正則表達(dá)式模式的替換。
所有操作完成后,均基于SimpleTest Aperiplus進(jìn)行測(cè)試,并保證測(cè)試的覆蓋率。
集成Phemto ,保證類的相關(guān)性測(cè)試。
2. Scisr
Scisr是一款利用PHP編寫的重構(gòu)工具。項(xiàng)目托管在GitHub上。基于GPL許可證下發(fā)行。
使用方法:
類的重命名:
$ 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 代碼的重構(gòu)工具,通過生成diffs來描述重構(gòu)的步驟,避免重構(gòu)過程中的簡(jiǎn)單錯(cuò)誤,該工具非常棒。項(xiàng)目托管在GitHub上。
使用庫(kù):
PHP Parser by Nikic
PHP Token Reflection from Ondřej Nešp
重構(gòu)瀏覽器數(shù)據(jù)主要包含以下幾個(gè)方面:
補(bǔ)丁——支持基于更改文件操作創(chuàng)建補(bǔ)??;
重構(gòu)——包含實(shí)際重構(gòu)域和適配第三方庫(kù);
集合——基于PHP數(shù)組可靠添加集合語(yǔ)義。目前包含一組類型。
4. PhpStorm
PhpStorm是由JetBrains公司開發(fā)的一款PHP IDE富應(yīng)用,同時(shí)支持重構(gòu)。PhpStorm可隨時(shí)幫助用戶對(duì)其編碼進(jìn)行調(diào)整,運(yùn)行單元測(cè)試或者提供可視化調(diào)試功能。
目前,發(fā)布了PhpStorm 7版本,新版本支持PHP5.5;改進(jìn)PHP語(yǔ)法著色性能;Vagrant、SSH 控制&遠(yuǎn)程工具;支持Drupal & PHP框架;改進(jìn)調(diào)試和測(cè)試性能。
PhpStorm的主要特性:
智能PHP編碼編輯器;
代碼質(zhì)量分析;
支持調(diào)試/測(cè)試;
支持HTML/CSS/JavaScript編輯器;
支持跨平臺(tái)。
5. Zend Studio
Zend Studio是Zend Technologies開發(fā)的PHP語(yǔ)言集成開發(fā)環(huán)境。支持HTML和JS標(biāo)簽,但只對(duì)PHP語(yǔ)言提供調(diào)試支持。
主要特性:
具備功能強(qiáng)大的專業(yè)編輯工具和調(diào)試工具;
支持PHP語(yǔ)法高亮顯示、語(yǔ)法自動(dòng)填充功能,支持語(yǔ)法自動(dòng)縮排和代碼復(fù)制功能;
支持書簽功能;
內(nèi)置一個(gè)強(qiáng)大的PHP代碼調(diào)試工具;
支持本地和遠(yuǎn)程兩種調(diào)試模式,支持多種高級(jí)調(diào)試功能。
- PHP代碼維護(hù),重構(gòu)變困難的4種原因分析
- PHP 雜談《重構(gòu)-改善既有代碼的設(shè)計(jì)》之五 簡(jiǎn)化函數(shù)調(diào)用
- PHP 雜談《重構(gòu)-改善既有代碼的設(shè)計(jì)》之四 簡(jiǎn)化條件表達(dá)式
- PHP 雜談《重構(gòu)-改善既有代碼的設(shè)計(jì)》之三 重新組織數(shù)據(jù)
- PHP 雜談《重構(gòu)-改善既有代碼的設(shè)計(jì)》之二 對(duì)象之間搬移特性
- PHP 雜談《重構(gòu)-改善既有代碼的設(shè)計(jì)》之一 重新組織你的函數(shù)
- rephactor 優(yōu)秀的PHP的重構(gòu)工具
- PHP代碼重構(gòu)方法漫談
相關(guān)文章
PHP遠(yuǎn)程連接MYSQL數(shù)據(jù)庫(kù)非常慢的解決方法
如果一個(gè)問題出現(xiàn)兩次,那么這個(gè)問題就值得去研究下了,上次客戶說MYSQL數(shù)據(jù)庫(kù)很慢,我還在想,不會(huì)是PHP的問題吧?2008-07-07php 防止單引號(hào),雙引號(hào)在接受頁(yè)面轉(zhuǎn)義
在使用php的過程中,我們需要使用單引號(hào)和雙引號(hào),所以需要轉(zhuǎn)義一下2008-07-07刪除數(shù)組元素實(shí)用的PHP數(shù)組函數(shù)
php之從數(shù)組中刪除空白的元素(包括只有空白字符的元素)將一個(gè)二維數(shù)組轉(zhuǎn)換為 hashmap2008-08-08PHP實(shí)現(xiàn)繪制二叉樹圖形顯示功能詳解【包括二叉搜索樹、平衡樹及紅黑樹】
這篇文章主要介紹了PHP實(shí)現(xiàn)繪制二叉樹圖形顯示功能,結(jié)合實(shí)例形式分析了php繪制常見二叉樹的相關(guān)操作技巧,包括二叉搜索樹、平衡樹及紅黑樹的實(shí)現(xiàn)方法,需要的朋友可以參考下2017-11-11php正則表達(dá)式驗(yàn)證(郵件地址、Url地址、電話號(hào)碼、郵政編碼)
這篇文章主要介紹了php正則表達(dá)式驗(yàn)證,實(shí)現(xiàn)郵件地址、Url地址、電話號(hào)碼、郵政編碼驗(yàn)證,感興趣的小伙伴們可以參考一下2016-03-03PHP實(shí)現(xiàn)的微信公眾號(hào)掃碼模擬登錄功能示例
這篇文章主要介紹了PHP實(shí)現(xiàn)的微信公眾號(hào)掃碼模擬登錄功能,涉及php針對(duì)微信公眾平臺(tái)接口的調(diào)用與交互相關(guān)操作技巧,需要的朋友可以參考下2019-05-05深入解析yii權(quán)限分級(jí)式訪問控制的實(shí)現(xiàn)(非RBAC法)
本篇文章是對(duì)yii權(quán)限分級(jí)式訪問控制的實(shí)現(xiàn)方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06