V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wudikua
V2EX  ›  程序员

有什么工具可以分析 PHP 代码的依赖文件

  •  
  •   wudikua · 2014-09-03 10:00:17 +08:00 · 3315 次点击
    这是一个创建于 3533 天前的主题,其中的信息可能已经有所发展或是发生改变。
    给一个PHP文件,怎么分析他所有代码路径涉及的文件,感觉原理类似于代码导航,就是把这个文件的所有可能的代码导航都遍历出来。
    11 条回复    2014-09-05 17:21:40 +08:00
    66beta
        1
    66beta  
       2014-09-03 10:04:50 +08:00
    IDE都可以的,比如Netbeans
    你建立project的时候,它会扫描整个project内的文件,你甚至还可以添加project外部的库
    点击某个函数方法,就会打开声明它的文件
    f1384793
        2
    f1384793  
       2014-09-03 10:09:40 +08:00
    wudikua
        3
    wudikua  
    OP
       2014-09-03 10:11:43 +08:00
    @66beta 我用的PHPSTORM 生成的XML里有?
    66beta
        4
    66beta  
       2014-09-03 10:14:11 +08:00
    @wudikua
    https://netbeans.org/images_www/v7/3/features/php/php-ide_top.png
    左下角的navigator是不是你要的? 里面会列出本文件用到的方法和变量,点击就会跳到声明出,包括从外面调用的
    wudikua
        5
    wudikua  
    OP
       2014-09-03 10:16:57 +08:00
    @66beta 我是写程序,要把项目的依赖计算出来,然后公用的代码迁移到一个地方,不是在这种。
    mikej
        6
    mikej  
       2014-09-03 10:17:32 +08:00
    get_included_files() ?
    wudikua
        7
    wudikua  
    OP
       2014-09-03 10:25:34 +08:00
    @mikej 这个只能在运行时用
    shiny
        8
    shiny  
       2014-09-03 11:54:51 +08:00 via iPhone
    有autoload,不到运行时是不知道到底加载了什么文件的。
    RemRain
        9
    RemRain  
       2014-09-03 13:01:54 +08:00
    无解,举个栗子:
    $redis = new Redis();
    require($redis->get('file_name'));
    nina
        10
    nina  
       2014-09-03 18:31:25 +08:00
    我能在这招个资深的phper吗?求解
    haisee
        11
    haisee  
       2014-09-05 17:21:40 +08:00
    class My_Exception extends Exception
    {
    public function __construct($message, $code = null) {
    parent::__construct($message, intval($code));
    echo $this->getTraceAsString();
    }
    }
    在你需要的地方调用一下threw new My_Exception('balabala...')
    然后你可以得到一个php的执行路径,从入口到中断的地方。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   953 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 21:35 · PVG 05:35 · LAX 14:35 · JFK 17:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.