gpt4 book ai didi

php - 查找定义类的 PHP 文件(在运行时)

转载 作者:IT老高 更新时间:2023-10-28 11:51:13 25 4
gpt4 key购买 nike

PHP 中是否有任何反射/内省(introspection)/魔法可以让您找到定义特定类(或函数)的 PHP 文件?

换句话说,我有一个 PHP 类或实例化对象的名称。我想将它传递给 something(函数、反射类等),它会返回定义类的文件系统路径。

/path/to/class/definition.php

我意识到我可以使用 (get_included_files()) 来获取到目前为止已包含的所有文件的列表,然后手动解析它们,但这是很多文件系统访问一次尝试。

我还意识到我可以在我们的 __autoload 机制中编写一些额外的代码,将这些信息缓存在某个地方。但是,在我想到的情况下,修改现有的 __autoload 是不受限制的。

听说可以做到这一点的扩展会很有趣,但我最终希望可以在“库存”安装上运行的东西。

最佳答案

试试ReflectionClass

例子:

class Foo {}
$reflector = new \ReflectionClass('Foo');
echo $reflector->getFileName();

当找不到文件名时,这将返回 false,例如在本地类上。

关于php - 查找定义类的 PHP 文件(在运行时),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2420066/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com