分析和解析PHP代码的7大工具

PHP已成为时下最热门的编程语言之一,然而却有许多PHP程序员苦恼找不到合适的工具来帮助自己分析和解析PHP代码。今天小编就为大家介绍几个非常不错的工具,来帮助程序员们提高自己的工作效率,一起来看看吧!

PHP Parser

PHP-Parser是一个用PHP编写的PHP解析器(支持PHP 5.4以及更早的版本),这种特殊的解析器非常适合静态代码分析。该工具的目的就是简化静态代码分析和操作,它使程序员能够以编程的方式来处理任何应用程序的代码。 

PHPSandbox

PHPSandbox将运行PHP作为独立进程的一种方式。 它为程序员提供一种外围脚本的保护,比如错误、崩溃、运行慢的脚本,或者不适合在代码中运行的脚本,都可作为独立进程来运行。

PHP Mess Detector

PHPMD这个工具能够探测PHP源代码中一些潜在的问题。例如:

  • 可能存在的Bug
  • 未达最佳标准的代码
  • 过于复杂的语法
  • 从未使用过的参数、方法、属性

PHPCPD

PHPCPD是一个在代码中寻找类似模式的工具,使用它是为了在代码库中识别代码在何处被复制或粘贴。这是常规构建过程中一个非常有用的工具,它会帮助程序员分析代码,以避免在代码库中重复调用函数。

PHPCheckstyle

PHPCheckstyle是一个帮助PHP程序员检查代码和报告错误的工具,运行于PHP 5.0以及更高的版本。通过SVN钩子脚本的方式来调用PHPCheckstyle,可以强制代码必须符合预先设定的编码标准(比如PEAR编码标准),有助于在多人合作项目中提高代码整体质量。

Ubench

Ubench是一个用于评测PHP代码执行时间和内存使用效率的开发库。使用方法如下:


  1. 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?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>'; 
  2.  
  3. $bench = new Ubench; 
  4.  
  5. $bench->start(); 
  6.  
  7. // Execute some code 
  8.  
  9. $bench->end(); 
  10.  
  11. // 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?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> 
  12.  
  13. echo $bench->getTime(); // 156ms or 1.123s 
  14.  
  15. echo $bench->getTime(true); // elapsed microtime in float 
  16.  
  17. echo $bench->getTime(false, '%d%s'); // 156ms or 1s 
  18.  
  19. echo $bench->getMemoryPeak(); // 152B or 90.00Kb or 15.23Mb 
  20.  
  21. 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?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 
  22.  
  23. echo $bench->getMemoryPeak(false, '%.3f%s'); // 152B or 90.152Kb or 15.234Mb 
  24.  
  25. // 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?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> 
  26.  
  27. echo $bench->getMemoryUsage(); // 152B or 90.00Kb or 15.23Mb

PHP Analyzer

PHP Analyzer执行和编译器相同的流动分析,确保代码在每个潜在执行路径的每一行都执行了测试。这种特殊的工具帮助开发人员提高了自己的代码质量,从而确保了工作效率。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索php
, 代码分析
, 工具
, 程序员
, 外围程序编程
, 运行
, 代码
, 分析
, phpmd
, 15种PHP
php代码质量
php代码性能分析工具、php代码分析工具、php在线代码分析工具、php静态代码分析工具、域名解析查询分析工具,以便于您获取更多的相关知识。

时间: 2024-08-30 00:54:09

分析和解析PHP代码的7大工具的相关文章

java小白试着分析了一下这个代码。求大神帮忙看一下正不正确;代码如下:

问题描述 java小白试着分析了一下这个代码.求大神帮忙看一下正不正确:代码如下: public class Test{ private static int i = 0; private static int j = 0; public static void main(String[] args) { int i = 2;//i之所以是2 而不是0 是因为 就近原则 int k = 3; { int j = 3; System.out.println("i+j ist"+i+&qu

Spark-项目中分析日志的核心代码

代码 LogRecord 类: case class LogRecord ( clientIpAddress: String, rfc1413ClientIdentity: String, remoteUser: String, ` dateTime: String, //[day/month/year:hour:minute:second zone] request: String, httpStatusCode: String, bytesSent: String, referer: Str

安卓-问个json解析的问题,望大神回答一下,谢谢!

问题描述 问个json解析的问题,望大神回答一下,谢谢! 想问一下下边的json粗体部分应该怎么解析,""spec_name""里边的规格数量是不确定的,spec_value里边的也是根据spec_name里边的来处理的.请各位大神给指导一下,谢谢.不敲代码说一下思路也可以,谢谢. {code"": 200datas"": {goods_info"": {goods_name"": &q

如何分析和压缩网站代码

随着网站功能的日益增强,网站的代码量也会越来越大,而且进入Web2.0富客户端以后,网站主更加关注网站的美观和用户的体验,可是要产生这样的 视觉效果,图片CSS和JS就是担负起很大的责任,这样就使网站的页面变的很大,从而影响网站的访问速度.试想一下,一个只有10K的页面和一个100K 的页面哪一个能更快的展现出来,答案当然是10K的页面,许多研究都表明,用户最满意的打开网页时间,是在2秒以下.用户能够忍受的最长等待时间大约在 6-8秒之间.也就是说,8秒是一个临界值,如果你的网站打开速度在8秒以

EXE文件解析远程代码执行漏洞精简版

此文章主要讲述的是EXE文件解析远程的代码执行漏洞,以下就是文章就是对EXE文件解析远程的代码执行漏洞的主要内容的详细描述,望大家在浏览之后会对其有更深的了解,望大家能有所收获.受影响系统:Panda Antivirus描述:BUGTRAQ ID: 24989熊猫卫士是熊猫系列杀毒软件,支持对多种文件格式进行病毒分析.熊猫卫士的文件解析引擎在解析畸形.EXE文件时整数负值过程中存在缓冲区溢出,如果用户受骗打开了恶意的 可执行文件的话,就可能触发这个溢出,导致在用户系统上执行任意代码.<*来源:S

IBM朱近之:解析对云计算的十大误解

本文讲的是IBM朱近之:解析对云计算的十大误解,[IT168 资讯]云计算既不是网格计算,也不是虚拟化,而是一个由多种产品和服务集成起来的端到端的解决方案. 云计算就是SaaS?云计算只适用于中小企业?云计算不能保证企业数据的安全性? 究竟什么才是云计算?业界对云计算还存在着许多的误读. 误读1.云计算就是网格计算 网格技术是云计算的一个组成部分.如何提供资源给某个工作任务是它们(网格和云)最主要的区别.网格计算关注的是如何将一个工作任务移动到它所需要的,一般来说是一个远程的而且已经可用的资源的

网站优化之分析和压缩网站代码

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 随着网站功能的日益增强,网站的代码量也会越来越大,而且进入Web2.0富客户端以后,网站主更加关注网站的美观和用户的体验,可是要产生这样的 视觉效果,图片CSS和JS就是担负起很大的责任,这样就使网站的页面变的很大,从而影响网站的访问速度.试想一下,一个只有10K的页面和一个100K 的页面哪一个能更快的展现出来,答案当然是10K的页面,许多

对EXE文件解析远程代码执行漏洞的介绍

下面的文章主要向大家阐述的是EXE文件解析远程代码执行漏洞的实际操作,以及对受影响系统的内容的描述,以下就是文章的主要内容的详细描述,望大家在浏览之后会对其有更深的了解.受影响系统:Panda Antivirus描述:BUGTRAQ ID: 24989熊猫卫士是熊猫系列杀毒软件,支持对多种文件格式进行病毒分析.熊猫卫士的文件解析引擎在解析畸形.EXE文件时整数负值过程中存在缓冲区溢出,如果用户受骗打开了恶意的 可执行文件的话,就可能触发这个溢出,导致在用户系统上执行任意代码.<*来源:Sergi

drawpath-只有20行代码!请大神帮忙看看,为什么drawPath( )会失效,但drawCircle( )却管用

问题描述 只有20行代码!请大神帮忙看看,为什么drawPath( )会失效,但drawCircle( )却管用 public class Hehe extends View { Path p; Paint p1; public Hehe(Context context AttributeSet attrs) { super(context attrs); // TODO Auto-generated constructor stub p=new Path();//定义一个路径 p.moveTo