ホームページ > php教程 > php手册 > PHP コードを分析および解析するための 7 つのツール

PHP コードを分析および解析するための 7 つのツール

WBOY
リリース: 2016-06-21 08:46:39
オリジナル
1267 人が閲覧しました

PHP は現在最も人気のあるプログラミング言語の 1 つとなっていますが、多くの PHP プログラマーは、PHP コードの分析と解析に役立つ適切なツールが見つからないことに悩んでいます。今日は、プログラマーの作業効率を向上させるための非常に優れたツールをエディターが紹介します。見てみましょう。

PHP パーサー

PHP-Parser は、PHP で書かれた PHP パーサーです (PHP 5.4 以前のバージョンをサポートします)。この特別なパーサーは、静的コード分析に非常に適しています。このツールの目的は、静的コードの分析と操作を簡素化することであり、プログラマが任意のアプリケーションのコードをプログラムで処理できるようにします。

PHPSandbox

PHPSandbox は、PHP をスタンドアロン プロセスとして実行する方法です。 これは、エラー、クラッシュ、実行速度の遅いスクリプト、またはコード内での実行に適さないスクリプトなどの周辺スクリプトに対する一種の保護をプログラマに提供し、独立したプロセスとして実行できます。

PHP 混乱検出器

PHPMD は、PHP ソース コード内の潜在的な問題を検出できるツールです。例:

  • バグの可能性があります
  • 次善のコード
  • 過度に複雑な構文
  • 一度も使用されていないパラメータ、メソッド、プロパティ

PHPCPD

PHPCPD は、コード内の類似したパターンを検索するツールで、コードがコード ベース内のどこにコピーまたは貼り付けられたかを識別するために使用します。これは、通常のビルド プロセス中に非常に便利なツールであり、プログラマがコードを分析して、コード ベース内で関数呼び出しが繰り返されることを避けるのに役立ちます。

PHPCcheckstyle

PHPCcheckstyle は、PHP プログラマーがコードをチェックしてエラーを報告するのに役立つツールで、PHP 5.0 以降で実行されます。 SVN フック スクリプトを通じて PHPCheckstyle を呼び出すことにより、コードをプリセットのコーディング標準 (PEAR コーディング標準など) に強制的に準拠させることができ、複数人によるコラボレーション プロジェクトにおけるコード全体の品質の向上に役立ちます。

Ubench

Ubench は、PHP コードの実行時間とメモリ使用効率を評価するために使用される開発ライブラリです。使用方法:

<ol class="dp-j">
<li class="alt"><span><span>require_once </span><span class="string">'src/Ubench.<span id="1_nwp" style="width: auto; height: auto; float: none;"><a id="1_nwl" href="http://m.sbmmt.com/cpro/ui/uijs.php?app_id=0&c=news&cf=1001&ch=0&di=128&fv=11&is_app=0&jk=f35ff87300cda873&k=php&k0=php&kdi0=0&luki=8&n=10&p=baidu&q=06011078_cpr&rb=0&rs=1&seller_id=1&sid=73a8cd0073f85ff3&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>'</span><span>; </span></span></li>
<li><span> </span></li>
<li class="alt"><span>$bench = <span class="keyword">new</span><span> Ubench; </span></span></li>
<li><span> </span></li>
<li class="alt"><span>$bench->start(); </span></li>
<li><span> </span></li>
<li class="alt"><span><span class="comment">// Execute some code</span><span> </span></span></li>
<li><span> </span></li>
<li class="alt"><span>$bench->end(); </span></li>
<li><span> </span></li>
<li class="alt"><span><span class="comment">// Get elapsed time and <span id="2_nwp" style="width: auto; height: auto; float: none;"><a id="2_nwl" href="http://m.sbmmt.com/cpro/ui/uijs.php?app_id=0&c=news&cf=1001&ch=0&di=128&fv=11&is_app=0&jk=f35ff87300cda873&k=memory&k0=memory&kdi0=0&luki=4&n=10&p=baidu&q=06011078_cpr&rb=0&rs=1&seller_id=1&sid=73a8cd0073f85ff3&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></span><span> </span></span></li>
<li><span> </span></li>
<li class="alt"><span>echo $bench->getTime(); <span class="comment">// 156ms or 1.123s</span><span> </span></span></li>
<li><span> </span></li>
<li class="alt"><span>echo $bench->getTime(<span class="keyword">true</span><span>); </span><span class="comment">// elapsed microtime in float</span><span> </span></span></li>
<li><span> </span></li>
<li class="alt"><span>echo $bench->getTime(<span class="keyword">false</span><span>, </span><span class="string">'%d%s'</span><span>); </span><span class="comment">// 156ms or 1s</span><span> </span></span></li>
<li><span> </span></li>
<li class="alt"><span>echo $bench->getMemoryPeak(); <span class="comment">// 152B or 90.00Kb or 15.23Mb</span><span> </span></span></li>
<li><span> </span></li>
<li class="alt"><span>echo $bench->getMemoryPeak(<span class="keyword">true</span><span>); </span><span class="comment">// memory <span id="3_nwp" style="width: auto; height: auto; float: none;"><a id="3_nwl" href="http://m.sbmmt.com/cpro/ui/uijs.php?app_id=0&c=news&cf=1001&ch=0&di=128&fv=11&is_app=0&jk=f35ff87300cda873&k=peak&k0=peak&kdi0=0&luki=3&n=10&p=baidu&q=06011078_cpr&rb=0&rs=1&seller_id=1&sid=73a8cd0073f85ff3&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</span><span> </span></span></li>
<li><span> </span></li>
<li class="alt"><span>echo $bench->getMemoryPeak(<span class="keyword">false</span><span>, </span><span class="string">'%.3f%s'</span><span>); </span><span class="comment">// 152B or 90.152Kb or 15.234Mb</span><span> </span></span></li>
<li><span> </span></li>
<li class="alt"><span><span class="comment">// Returns the memory usage at the end <span id="4_nwp" style="width: auto; height: auto; float: none;"><a id="4_nwl" href="http://m.sbmmt.com/cpro/ui/uijs.php?app_id=0&c=news&cf=1001&ch=0&di=128&fv=11&is_app=0&jk=f35ff87300cda873&k=mark&k0=mark&kdi0=0&luki=2&n=10&p=baidu&q=06011078_cpr&rb=0&rs=1&seller_id=1&sid=73a8cd0073f85ff3&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></span><span> </span></span></li>
<li><span> </span></li>
<li class="alt"><span>echo $bench->getMemoryUsage(); <span class="comment">// 152B or 90.00Kb or 15.23Mb</span><span> <br></span></span></li>
</ol>
ログイン後にコピー

PHP アナライザー

PHP アナライザーはコンパイラーと同じフロー分析を実行し、コードのすべての行がすべての潜在的な実行パスでテストされるようにします。この特別なツールは、開発者がコードの品質を向上させ、生産性を確保するのに役立ちます。



関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート