假设我有以下课程:
<?php
namespace ImTheVendor\Project5;
use ImTheVendor\Project1\SomeClass,
ImTheVendor\Project2\SomeOtherClass;
use ImTheVendor\Project5\SomeClass;
class Something
{
}
如何使用use语句声明所有名称空间?我是否必须对文件进行正则表达式,或者有更简单的方法吗?
答案 0 :(得分:0)
我会使用TokenFinderTool :: getUseDependencies方法。
$f = $modulesDir . "/Bat/FileSystemTool.php";
$tokens = token_get_all(file_get_contents($f));
$dependencies = TokenFinderTool::getUseDependencies($tokens);
此外,它有一个方法可以找到所有&#34; use语句&#34;在给定目录中:
$dir = $modulesDir . "/Bat";
$deps = TokenFinderTool::getUseDependenciesByFolder($dir);
可在此处找到一个工作示例:https://github.com/lingtalfi/TokenFun#tokenfindertool
此外,本文还介绍了另一种解决方案: Easiest way to detect/remove unused `use` statements from PHP codebase