如何检查文件名和路径与其完整命名空间不匹配的 PHP 类(区分大小写)

我有一个大型 PHP 项目,其中文件名和/或路径的实例数量未知,这些实例与类的完整命名空间不匹配。

到目前为止,我遇到的所有实例都是由于与大小写不匹配(例如 Api 与 API)。

有没有一种简单的方法可以扫描整个项目以识别这些不匹配?

一个简单的基于控制台的工具将是理想的,因此它可以作为另一个进程的一部分自动运行。

任何建议表示赞赏。


哆啦的时光机
浏览 284回答 1
1回答

慕慕森

如果您的项目中的每个文件都被加载(include或require),您可以尝试使用该get_declared_classes()函数来获取声明的类名,然后使用ReflectionClass类来检查ReflectionClass::getFileName()它们并将它们与类名进行比较。需要注意的一件事是跳过每个ReflectionClass::isInternal()返回 true 的类,因为这些类要么是默认的 PHP 类,要么来自扩展,因此它们不是来自 PHP 文件(false在这种情况下,该方法将返回)。
打开App,查看更多内容
随时随地看视频慕课网APP