查找PHP依赖项

时间:2010-04-25 20:28:42

标签: php dependencies

是否有任何工具可以列出PHP文件使用的类的名称?

例如,如果我在此文件上运行它:

<?
class Test {
  public function __construct(Obj1 $x) {
    $y = new Obj2();
    $str = "Obj3";
    $z = new $str();
  }
}
?>

它将报告“Obj1”和“Obj2”。如果它真的很聪明,它也可以报告“Obj3”,但这不是必需的。

我正在尝试打包一些代码,我想要一些帮助以确保我不会错过任何依赖项。

有一种名为PHP_Depend的东西,它可以绘制依赖项的数量,但不能报告它们是什么。

更新:我没有找到真正的解决方案,但我想出了一些足够接近我的目的。您可以标记文件,并搜索所有T_STRING标记。这将为您提供文件中提到的所有类名。它还会为您提供其他功能,如函数名称和常量。但是,如果您的类名易于区分(例如,他们有初始上限),那么这应该不是问题。

$contents = file_get_contents($path);
$tokens = token_get_all($contents);
foreach ($tokens as $token) {
  if (is_array($token) && $token[0] === T_STRING) {
    echo $token[1]."\n";
  }
}

1 个答案:

答案 0 :(得分:1)

PHPXref,这是一个PHP交叉引用文档生成器。