当前位置: 首页 > 面试题库 >

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

谭宏盛
2023-03-14
问题内容

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

换句话说,我有一个PHP类或实例化对象的名称。我想将此传递给 某个东西 (函数,Reflection类等),该东西将返回定义该类的文件系统路径。

/path/to/class/definition.php

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

我还意识到我可以在__autoload机制中编写一些其他代码,以将该信息缓存到某个地方。但是,在我所考虑的情况下,修改现有的__autoload是不可行的。

听到可以做到这一点的扩展会很有趣,但我最终希望可以在“常规”安装中运行的扩展。


问题答案:

尝试 ReflectionClass

  • ReflectionClass :: getFileName —获取文件名

例:

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

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



 类似资料:
  • 问题内容: 假设我们项目中的每个PHP文件都包含一个类定义,那么如何确定文件中定义了哪些类? 我知道我可以对文件进行正则表达式声明,但是我更喜欢做一些更有效的事情。 问题答案: 对于正在从事的项目,我需要这样的东西,这是我编写的功能:

  • 有谁能告诉我,是否可以根据应用程序运行的环境在spring加载的应用程序中定义概要文件(Dev、Prod、Local)? 每个开发人员都需要配置一个本地配置文件(每个开发人员都需要配置一个本地配置文件,每个开发人员都需要配置一个本地配置文件来运行Prod)

  • 我创建了一点js,它将三个变量传递给我的php脚本loadtable.php.这个php文件存储在我的子主题文件夹中,其内容如下: 页面上的js部分: 当页面加载或调用selectChart()时,我只是无法获得do_shortcodePHP脚本来呈现表。你们知道我的解决办法是什么吗?提前感谢。

  • 问题内容: 如何找到当前正在运行的Python脚本的完整路径?就是说,我要做什么才能做到这一点: 问题答案: 不是您要找的东西。不要使用意外的副作用 是 永远 的脚本路径(如果事实上脚本已经调用) -见http://docs.python.org/library/sys.html#sys.argv 是 当前正在执行的 文件(脚本或模块)的路径。这是 偶然 一样的,如果它是从脚本访问的脚本!如果要将

  • 问题内容: 对于Java开发人员来说,这必须是一个非常基本的问题,但是在给定 类名* 的情况下找到合适的 jar文件 的最佳方法是什么? * 例如,给定“ com.ibm.websphere.security.auth.WSSubject ”,您如何跟踪适当的jar文件?(“ google”不是我要找的答案!) 在Java文档不给jar文件的任何暗示,明显的jar文件的名称本身不提供线索。 在Ja

  • 问题内容: 好的,所以我有一个index.php文件,它必须处理许多不同的文件类型。我如何猜测基于的文件类型。 如果我请求,则所有请求都通过index.php重定向,如下所示 我将如何使其正常工作? 我应该根据所请求文件的扩展名进行测试,还是可以获取文件类型? 问题答案: 如果您确定只使用图像,则可以查看 getimagesize() exif_imagetype() PHP函数,尝试返回图像的m