2010-10-28 30 views
0

可能重复:
Find out which class called a method in another class.查找谁在PHP中的类调用一个方法

大家好,

我有一个类,我找不到他的对象创建。 我的意思是,我可以以某种方式找出谁称他的构造函数?

非常感谢, Andrey。

+0

@Gordon:我认为这个问题的不同,因为“我有一个类,我找不到他的对象创建”,因此(IMO)debug_backtrace(有点)不单一的最佳答案。你不应该改变现有的代码来获得类/依赖/调用图。 – VolkerK 2010-10-28 16:02:10

+0

@VolkerK其实debug_backtrace是最差的答案。如果OP的目标是要知道被叫方的主叫方,则应将主叫方传递给被叫方,而不是被叫方试图从回溯中找出主叫方。并且您正确地建议您使用调试器/分析器来阅读该问题。 – Gordon 2010-10-28 16:09:44

回答

1

使用

$trace = debug_backtrace(); 
echo "<pre>".print_r($trace[1])."</pre>"; 
//see all the displays '1' is the referrer '0' is self 
echo $callingfunction = $trace[1]['function']; 
echo $callingclass = $trace[1]['class']; 
+0

谢谢,这个解决方案帮了我 – 2010-11-01 08:14:05