PHP已成爲時下最熱門的編程語言之一,然而卻有許多PHP程序員苦惱找不到合適的工具來幫助本身分析和解析PHP代碼。今天小編就爲你們介紹幾個很是不錯的工具,來幫助程序員們提升本身的工做效率,一塊兒來看看吧!php
PHP-Parser是一個用PHP編寫的PHP解析器(支持PHP 5.4以及更早的版本),這種特殊的解析器很是適合靜態代碼分析。該工具的目的就是簡化靜態代碼分析和操做,它使程序員可以以編程的方式來處理任何應用程序的代碼。html
PHPSandbox將運行PHP做爲獨立進程的一種方式。 它爲程序員提供一種外圍腳本的保護,好比錯誤、崩潰、運行慢的腳本,或者不適合在代碼中運行的腳本,均可做爲獨立進程來運行。git
PHPMD這個工具可以探測PHP源代碼中一些潛在的問題。例如:程序員
PHPCPD是一個在代碼中尋找相似模式的工具,使用它是爲了在代碼庫中識別代碼在何處被複制或粘貼。這是常規構建過程當中一個很是有用的工具,它會幫助程序員分析代碼,以免在代碼庫中重複調用函數。github
PHPCheckstyle是一個幫助PHP程序員檢查代碼和報告錯誤的工具,運行於PHP 5.0以及更高的版本。經過SVN鉤子腳本的方式來調用PHPCheckstyle,能夠強制代碼必須符合預先設定的編碼標準(好比PEAR編碼標準),有助於在多人合做項目中提升代碼總體質量。編程
Ubench是一個用於評測PHP代碼執行時間和內存使用效率的開發庫。使用方法以下:app
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
require_once
'src/Ubench.<span id="1_nwp" style="width: auto; height: auto; float: none;"><a id="1_nwl" href="http://cpro.baidu.com/cpro/ui/uijs.php?adclass=0&app_id=0&c=news&cf=1001&ch=0&di=128&fv=18&is_app=0&jk=52d10cc8a331984b&k=php&k0=php&kdi0=0&luki=8&n=10&p=baidu&q=06011078_cpr&rb=0&rs=1&seller_id=1&sid=4b9831a3c80cd152&ssp2=1&stid=0&t=tpclicked3_hc&tu=u1922429&u=http%3A%2F%2Fwww%2Eadmin10000%2Ecom%2Fdocument%2F6257%2Ehtml&urlid=0" target="_blank" mpid="1" style="text-decoration: none;"><span style="color:#0000ff;font-size:14px;width:auto;height:auto;float:none;">php</span></a></span>'
;
$bench
=
new
Ubench;
$bench
->start();
// Execute some code
$bench
->
end
();
// Get elapsed time and <span id="2_nwp" style="width: auto; height: auto; float: none;"><a id="2_nwl" href="http://cpro.baidu.com/cpro/ui/uijs.php?adclass=0&app_id=0&c=news&cf=1001&ch=0&di=128&fv=18&is_app=0&jk=52d10cc8a331984b&k=memory&k0=memory&kdi0=0&luki=4&n=10&p=baidu&q=06011078_cpr&rb=0&rs=1&seller_id=1&sid=4b9831a3c80cd152&ssp2=1&stid=0&t=tpclicked3_hc&tu=u1922429&u=http%3A%2F%2Fwww%2Eadmin10000%2Ecom%2Fdocument%2F6257%2Ehtml&urlid=0" target="_blank" mpid="2" style="text-decoration: none;"><span style="color:#0000ff;font-size:14px;width:auto;height:auto;float:none;">memory</span></a></span>
echo
$bench
->getTime();
// 156ms or 1.123s
echo
$bench
->getTime(true);
// elapsed microtime in float
echo
$bench
->getTime(false,
'%d%s'
);
// 156ms or 1s
echo
$bench
->getMemoryPeak();
// 152B or 90.00Kb or 15.23Mb
echo
$bench
->getMemoryPeak(true);
// memory <span id="3_nwp" style="width: auto; height: auto; float: none;"><a id="3_nwl" href="http://cpro.baidu.com/cpro/ui/uijs.php?adclass=0&app_id=0&c=news&cf=1001&ch=0&di=128&fv=18&is_app=0&jk=52d10cc8a331984b&k=peak&k0=peak&kdi0=0&luki=3&n=10&p=baidu&q=06011078_cpr&rb=0&rs=1&seller_id=1&sid=4b9831a3c80cd152&ssp2=1&stid=0&t=tpclicked3_hc&tu=u1922429&u=http%3A%2F%2Fwww%2Eadmin10000%2Ecom%2Fdocument%2F6257%2Ehtml&urlid=0" target="_blank" mpid="3" style="text-decoration: none;"><span style="color:#0000ff;font-size:14px;width:auto;height:auto;float:none;">peak</span></a></span> in bytes
echo
$bench
->getMemoryPeak(false,
'%.3f%s'
);
// 152B or 90.152Kb or 15.234Mb
// Returns the memory usage at the end <span id="4_nwp" style="width: auto; height: auto; float: none;"><a id="4_nwl" href="http://cpro.baidu.com/cpro/ui/uijs.php?adclass=0&app_id=0&c=news&cf=1001&ch=0&di=128&fv=18&is_app=0&jk=52d10cc8a331984b&k=mark&k0=mark&kdi0=0&luki=2&n=10&p=baidu&q=06011078_cpr&rb=0&rs=1&seller_id=1&sid=4b9831a3c80cd152&ssp2=1&stid=0&t=tpclicked3_hc&tu=u1922429&u=http%3A%2F%2Fwww%2Eadmin10000%2Ecom%2Fdocument%2F6257%2Ehtml&urlid=0" target="_blank" mpid="4" style="text-decoration: none;"><span style="color:#0000ff;font-size:14px;width:auto;height:auto;float:none;">mark</span></a></span>
echo
$bench
->getMemoryUsage();
// 152B or 90.00Kb or 15.23Mb
|
PHP Analyzer執行和編譯器相同的流動分析,確保代碼在每一個潛在執行路徑的每一行都執行了測試。這種特殊的工具幫助開發人員提升了本身的代碼質量,從而確保了工做效率。編程語言