查找包含 class 的文件(基于 __autoload),但不包含它

Find a file containing a class (based on __autoload), but don't include it

我正在使用 Composer 加载 PHP 依赖项。鉴于 class 的名称,我想找到定义此 class 的文件的路径,但不要包含它。

示例:

echo get_file_for_class('Carbon\Carbon');

输出:

vendor/briannesbitt/Carbon/src/Carbon/Carbon.php

谢谢!

您可以使用反射 Class。 http://php.net/manual/en/class.reflectionclass.php

$reflector = new ReflectionClass('Carbon\Carbon');
echo $reflector->getFileName();

您还可以使用一些其他有用的 class 方法来确定其父级(如果它继承自某个父级)或其起始行。

$reflector->getParentClass();