最近在用Go重构一个PHP项目,代码写的有点乱,也没文档,没注释,总之就是功能基本靠猜, 然后我找了个小工具快速理清代码执行流程,帮助自己理解代码逻辑。
首先打开xdebug的分析器
xdebug.profiler_enable = 1
xdebug.profiler_output_dir = /tmp
分析器有什么用,有兴趣可以去xdebug官网自己去看。
但是xdebug分析器输出的内容对人是不友好的,使用工具才能方便的看到自己想要的,这里我们使用webgrind帮助我们查看这个内容。
webgrind依赖python和graphviz,安装完成之后修改webgrind的config.php文件
/**
* Path to python executable
*/
static $pythonExecutable = '/usr/bin/python';
/**
* Path to graphviz dot executable
*/
static $dotExecutable = '/usr/local/bin/dot';
然后在webgrind目录下执行
php -S 127.0.0.1:19000 //使用php内置http服务器,php version >= 5.4
webgrind可以生成流程图和分析每个方法函数的执行时间,这里我用CodeIgniter做个例子,展示下效果
更多架构、PHP、GO相关踩坑实践技巧请关注我的公众号:PHP架构师
来源:oschina
链接:https://my.oschina.net/u/222608/blog/805465