预加载php类文件位置

时间:2012-11-26 23:10:19

标签: php class

  

可能重复:
  Finding the PHP File (at run time) where a Class was Defined

我正在使用其他人(当前不可用)设置的服务器。我试图找到apache(或其他)正在预加载的类的源代码,以便我可以将源代码更新为该类的正确版本。运行这个:

<?php echo class_exists('className')? "yes": "no"; ?>

(作为整个php文件)打印出来是的。如何找出该课程的文件来源?我已经对服务器进行了操作,并且有一长串文件,但它只是知道我需要更改哪个文件而不需要进行大量的猜测和检查。是否有函数会告诉我带有该类名源代码的文件?

由于

2 个答案:

答案 0 :(得分:3)

$r = new ReflectionClass('YourClassName');
echo $r->getFileName();

请参阅http://php.net/manual/en/reflectionclass.getfilename.php

上反思课程的文档页面

根据文档,PHP核心(或扩展)定义的类会导致getFileName()方法返回FALSE

if ($r->getFileName() === FALSE) {echo 'Defined by PHP';}

答案 1 :(得分:1)

检查包含路径以查看哪些目录相关。

get_include_path

http://php.net/manual/de/function.get-include-path.php

使用Reflection类获取实际文件 http://de1.php.net/manual/de/reflectionclass.getfilename.php