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

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

Jun 21, 2016 am 08:46 AM
gt nbsp php quot span

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 コードの実行時間とメモリ使用効率を評価するために使用される開発ライブラリです。使用方法:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

<ol class="dp-j">

<li class="alt"><span><span>require_once </span><span class="string">'src/Ubench.&lt;span id=&quot;1_nwp&quot; style=&quot;width: auto; height: auto; float: none;&quot;&gt;&lt;a id=&quot;1_nwl&quot; href=&quot;http://cpro.baidu.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&quot; target=&quot;_blank&quot; mpid=&quot;1&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span style=&quot;color:#0000ff;font-size:14px;width:auto;height:auto;float:none;&quot;&gt;php&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;'</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-&gt;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-&gt;end(); </span></li>

<li><span> </span></li>

<li class="alt"><span><span class="comment">// Get elapsed time and &lt;span id=&quot;2_nwp&quot; style=&quot;width: auto; height: auto; float: none;&quot;&gt;&lt;a id=&quot;2_nwl&quot; href=&quot;http://cpro.baidu.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&quot; target=&quot;_blank&quot; mpid=&quot;2&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span style=&quot;color:#0000ff;font-size:14px;width:auto;height:auto;float:none;&quot;&gt;memory&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;</span><span> </span></span></li>

<li><span> </span></li>

<li class="alt"><span>echo $bench-&gt;getTime(); <span class="comment">// 156ms or 1.123s</span><span> </span></span></li>

<li><span> </span></li>

<li class="alt"><span>echo $bench-&gt;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-&gt;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-&gt;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-&gt;getMemoryPeak(<span class="keyword">true</span><span>); </span><span class="comment">// memory &lt;span id=&quot;3_nwp&quot; style=&quot;width: auto; height: auto; float: none;&quot;&gt;&lt;a id=&quot;3_nwl&quot; href=&quot;http://cpro.baidu.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&quot; target=&quot;_blank&quot; mpid=&quot;3&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span style=&quot;color:#0000ff;font-size:14px;width:auto;height:auto;float:none;&quot;&gt;peak&lt;/span&gt;&lt;/a&gt;&lt;/span&gt; in bytes</span><span> </span></span></li>

<li><span> </span></li>

<li class="alt"><span>echo $bench-&gt;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 &lt;span id=&quot;4_nwp&quot; style=&quot;width: auto; height: auto; float: none;&quot;&gt;&lt;a id=&quot;4_nwl&quot; href=&quot;http://cpro.baidu.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&quot; target=&quot;_blank&quot; mpid=&quot;4&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span style=&quot;color:#0000ff;font-size:14px;width:auto;height:auto;float:none;&quot;&gt;mark&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;</span><span> </span></span></li>

<li><span> </span></li>

<li class="alt"><span>echo $bench-&gt;getMemoryUsage(); <span class="comment">// 152B or 90.00Kb or 15.23Mb</span><span> <br></span></span></li>

</ol>

ログイン後にコピー

PHP アナライザー

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



このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

CakePHP の日付と時刻

CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

CakePHP プロジェクトの構成

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

CakePHP ファイルのアップロード

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

CakePHP ルーティング

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP について話し合う

CakePHP クイックガイド CakePHP クイックガイド Sep 10, 2024 pm 05:27 PM

CakePHP クイックガイド

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法

See all articles