首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
impig33
V2EX  ›  PHP

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

  •  
  •   impig33 · 47 天前 · 1886 次点击
    这是一个创建于 47 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    谢谢你的智慧!

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

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

    比如做 ecshop 二开,经常是路由+判断看着看着迷路了,哈哈
    impig33
        10
    impig33   35 天前
    @chengxiao

    有道理,也确实是这么干的,只是进入到具体功能后,由于代码调用来调用去,还是会迷路
    impig33
        11
    impig33   35 天前
    v2ex 的交流氛围比思否和知乎好的多,谢谢各位大神
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4356 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 08:39 · PVG 16:39 · LAX 01:39 · JFK 04:39
    ♥ Do have faith in what you're doing.