分析和解析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
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=19&is_app=0&jk=3834b77a116e97b9&k=php&k0=php&kdi0=0&luki=8&mcpm=0&n=10&p=baidu&q=06011078_cpr&rb=0&rs=1&seller_id=1&sid=b9976e117ab73438&ssp2=1&stid=0&t=tpclicked3_hc&td=1922429&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=19&is_app=0&jk=3834b77a116e97b9&k=memory&k0=memory&kdi0=0&luki=3&mcpm=0&n=10&p=baidu&q=06011078_cpr&rb=0&rs=1&seller_id=1&sid=b9976e117ab73438&ssp2=1&stid=0&t=tpclicked3_hc&td=1922429&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=19&is_app=0&jk=3834b77a116e97b9&k=peak&k0=peak&kdi0=0&luki=4&mcpm=0&n=10&p=baidu&q=06011078_cpr&rb=0&rs=1&seller_id=1&sid=b9976e117ab73438&ssp2=1&stid=0&t=tpclicked3_hc&td=1922429&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=19&is_app=0&jk=3834b77a116e97b9&k=mark&k0=mark&kdi0=0&luki=2&mcpm=0&n=10&p=baidu&q=06011078_cpr&rb=0&rs=1&seller_id=1&sid=b9976e117ab73438&ssp2=1&stid=0&t=tpclicked3_hc&td=1922429&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
PHP Analyzer执行和编译器相同的流动分析,确保代码在每个潜在执行路径的每一行都执行了测试。这种特殊的工具帮助开发人员提高了自己的代码质量,从而确保了工作效率。
转载于:https://www.cnblogs.com/echohao/p/4968845.html
分析和解析PHP代码的7大工具相关推荐
- 分析FLV文件分析和解析器的开源代码
分析一下GitHub上一份FLV文件分析和解析器的开源代码 GitHub源码地址:功能强大的 FLV 文件分析和解析器 :可以将flv文件的视频tag中的h264类型数据和音频tag中的aac类型数据 ...
- 大数据告诉你,世纪佳缘都是谁在相亲(python爬虫分析,附全部代码)
公众号: 数据小斑马,关注即可获得价值1000元的数据分析学习资料 数据分析学习目录: 一.Excel系列--四大常用函数及十大高级图表 二.SQL系列--性能优化/多表关联/窗口分析函数等 三.统计 ...
- 一步步教你为网站开发Android客户端---HttpWatch抓包,HttpClient模拟POST请求,Jsoup解析HTML代码,动态更新ListView...
本文面向Android初级开发者,有一定的Java和Android知识即可. 文章覆盖知识点:HttpWatch抓包,HttpClient模拟POST请求,Jsoup解析HTML代码,动态更新List ...
- JS 调试分析 + 字体解析(汽车之家)
JS 调试分析 + 字体解析(汽车之家) 当你看到这篇文章,讲一堆理论和基础,你一定会很烦..直接开始,上图!!(需要使用一个工具:FontCreator..如何下载,自己搜!) 惊不惊 ...
- 小猫爪:嵌入式小知识07-MCUXpresso GCC ld链接文件解析-链接代码至RAM
小猫爪:嵌入式小知识07-MCUXpresso GCC ld链接文件解析-链接代码至RAM 1 前言 2 基本语法 3 实例解析 4 链接代码至RAM 4.1 链接自定义section至RAM 4.2 ...
- MyBatis 源码分析 - 配置文件解析过程
文章目录 * 本文速览 1.简介 2.配置文件解析过程分析 2.1 配置文件解析入口 2.2 解析 properties 配置 2.3 解析 settings 配置 2.3.1 settings 节点 ...
- 解读Google Analytics(分析)客户端javascript代码
/** * 代码翻译:周培公 * 电子邮件:peigong@foxmail.com * 腾讯微博:http://t.qq.com/lanxmail * 新浪微博:http://weibo.com/17 ...
- 基于matlab的64QAM,通信调制体制设计之64QAM性能分析MATLAB仿真及代码
通信调制体制设计之64QAM性能分析MATLAB仿真及代码 通信调制体制设计之64QAM性能分析MATLAB仿真及代码 任务背景 弗雷泽岛旅游经理在审查您之前建立无线链路任务的解决方案时,正在研究使用 ...
- SonarQube系列二、分析dotnet core/C#代码
来源:https://www.cnblogs.com/7tiny/p/11342902.html [前言] 本系列主要讲述sonarqube的安装部署以及如何集成jenkins自动化分析.netcor ...
最新文章
- 自带浏览器_三星手机自带浏览器下载量突破 10 亿次
- VC6中使用高版本系统API的方法
- c++ primer文本查询程序 自编加强版(c++primer5th 练习12.32-33)
- 跟我一起学Redis之Redis事务简单了解一下
- 数据结构——最小生成树之克鲁斯卡尔算法(Kruskal)
- java 反射深度克隆_C# 使用反射来实现对象的深度复制方法
- 从Mysql中读取数据绑定Grid,然后在全部绑定sql
- 赢得 Docker 挑战最佳实践
- strrstr php,php之字符串
- KNX智能照明系统在福安中医院的应用
- python中标点符号大全及名字_常见的标点符号大全及名字
- 理解 LSTM 网络
- Rockchip | Rockchip U-Boot的获取与构建
- 编译原理-LL(1)语法分析器
- ElasticSearch 倒排索引(Inverted Index)| 什么是倒排索引?
- C语言生成0-9的6位数密码递归方法实现
- VS2010 调用的目标发生了异常
- 电路之KCL和KVL的独立方程数总结
- 代表着团结幸福平安的中国结绳
- 基于unity无人机3D仿真《一》