怎样快速分析 PHP 代码的业务逻辑?

2020-05-23 09:35:49 +08:00
 impig33

当我拿到一份代码要做二开,比如 php,由于代码比较多,怎样快速的分析主要执行过程。

当然 debug 或 XHProf 可以起到调试的作用,但是执行过程要么太琐碎,要么依赖执行环境。

有没有什么什么工具,可以直接导入一个 project,即可以基于代码生成一个像思维导图这样的架构出来?

谢谢你的智慧!

3221 次点击
所在节点    PHP
12 条回复
DamonLin
2020-05-23 10:07:57 +08:00
在本地执行,打断点。反正我刚入职是这样
chengxiao
2020-05-23 10:24:01 +08:00
看业务逻辑直接找路由啊,这个最直接 前后端通用
Mitt
2020-05-23 10:59:44 +08:00
可以借助性能探测工具 比如 xhgui,可以实现你想要的结果,查看它从 main 到结束的过程(和耗时)
Mitt
2020-05-23 11:01:42 +08:00
@Mitt #3 当然了 这个前提是只能查看一条路径,没办法像你说的一样去直接剖析所有结构,主要是由于入口的问题,PHP 大多都是动态的,没办法靠代码去猜你会执行什么,只能靠执行一遍来获取你执行过的路径
BigPig666
2020-05-23 11:41:38 +08:00
xdebug 把生命周期摸清楚就行了
CODEWEA
2020-05-23 15:11:22 +08:00
对业务建立初步认识:把自己当成用户,尽可能的去体验所有功能,将业务的运行逻辑在自己的脑海中建立大概的印象
对单个业务点精准剖析:从不同渠道,了解业务,以及业务所关联的其他业务
对业务的代码进行逐步调试:先了解框架的运行逻辑,以及代码的执行顺序;自上而下,从大到小去用调试代码的方式去了解业务。
yc8332
2020-05-23 15:34:14 +08:00
当然是看功能了。先看功能,然后了解项目的路由方式,找到控制器。然后你想干嘛就干嘛了。
shellic
2020-05-23 18:47:02 +08:00
我觉着 6 楼说的就不错
impig33
2020-06-04 15:32:09 +08:00
@CODEWEA

说的不错,不过,不是啥都有业务逻辑说明的。

比如做 ecshop 二开,经常是路由+判断看着看着迷路了,哈哈
impig33
2020-06-04 15:33:27 +08:00
@chengxiao

有道理,也确实是这么干的,只是进入到具体功能后,由于代码调用来调用去,还是会迷路
impig33
2020-06-04 15:35:27 +08:00
v2ex 的交流氛围比思否和知乎好的多,谢谢各位大神
impig33
2020-09-16 09:56:52 +08:00
可以继续讨论吗

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/674578

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX