是否有任何工具可以列出 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";
}
}
最佳答案
有PHPXref ,这是一个 PHP 交叉引用文档生成器。
关于php - 查找 PHP 依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2709843/