[PHP工具推荐]0001.分析和解析代码的7大工具
引言:PHP已成为时下最热门的编程语言之一,然而却有许多PHP程序员苦恼找不到合适的工具来帮助自己分析和解析PHP代码。今天SD就为大家介绍几个非常不错的工具,来帮助程序员们提高自己的工作效率,一起来看看吧!
工具索引:
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代码执行时间和内存使用效率的开发库。使用方法如下:
require_once 'src/Ubench.php';
$bench = new Ubench;
$bench->start();
// Execute some code
$bench->end();
// Get elapsed time and memory
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 peak in bytes
echo $bench->getMemoryPeak(false, '%.3f%s'); // 152B or 90.152Kb or 15.234Mb
// Returns the memory usage at the end mark
echo $bench->getMemoryUsage(); // 152B or 90.00Kb or 15.23Mb
PHP Analyzer
PHP Analyzer执行和编译器相同的流动分析,确保代码在每个潜在执行路径的每一行都执行了测试。这种特殊的工具帮助开发人员提高了自己的代码质量,从而确保了工作效率。
本站文章为宝宝巴士 SD.Team原创,转载务必在明显处注明:(作者官方网站:宝宝巴士)
转载自【宝宝巴士SuperDo团队】 原文链接: http://www.cnblogs.com/superdo/p/4808189.html
最新文章
- Android应用安全开发之浅谈网页打开APP
- Python urllib模块urlopen()与urlretrieve()详解
- [持续更新] 文章列表 last updated SEP 18, 2016
- eclipse 安装git的插件和上传项目
- urllib2中自定义opener
- react native ios 开发,基础配置笔记。
- webpack2使用ch1-目录说明
- 用m4 macros创建文本文件
- [JavaScript] 后端js的模块化规范CommonJs
- 18-09-16如何从pychram的第三方包导入设计器
- servlet中将值以json格式传入
- SparkSql处理嵌套json数据
- Spring Boot日志集成实战
- centos6.5环境下安装zk
- centos命令行变成了-bash-4.1$的解决办法
- Git for Windows之基础环境搭建与基础操作
- ORACLE 对一个表进行循环查数,再根据MO供给数量写入另一个新表
- 微信小程序自定义 tabbar
- Ubuntu下设置服务自启动
- Codeforces Round #299 (Div. 1) A. Tavas and Karafs 水题
热门文章
- 在TX2上多线程读取视频帧进行caffe推理
- 使用kubeadm部署k8s集群[v1.18.0]
- C语言程序设计实验报告(第一次实验)
- github使用命令
- Node.js中模块加载机制
- LTE无线网络优化简介
- 201771010113 李婷华 《面向对象程序设计(Java)》第十六周总结
- qt creator源码全方面分析(4-4)
- LeetCode--Squares of a Sorted Array &;&; Robot Return to Origin (Easy)
- Cassandra数据建模