除了debug_backtrace()知道调用我的脚本的类的名称之外,还有其他方法吗?在PHP中获取被调用类的另一种方法
回答
如果你只是想要当前的类名,你可以使用get_class(); 如果调用堆栈涉及很多类,并且您想要第一个类,那么您确实必须使用debug_backtrace()。
$className = get_class($this);
OP希望调用另一个类的类从'另一个'类 – ArtisticPhoenix
Thad做到了。干杯。 –
@ ao-pack - 你应该更好地说出你的问题......只是说。无所谓我的回溯功能依然辉煌..大声笑 – ArtisticPhoenix
据我所知,back_trace是最好的方法。这就是说,如果你想获得的是称为脚本类/文件等,你可以使用这个功能
/**
* get the line this file was called on (+1)
* @param number $offset
* @return array
*/
function trace($offset = 0)
{
$trace = debug_backtrace(false);
foreach ($trace as $t) {
if ($t['file'] != __FILE__) {
break;
}
++$offset;
}
return array_slice($trace, ($offset - count($trace)));
}
基本上,你通过回溯迭代,你看当前文件之前的项目。
如果您希望它在调用trace()函数之前的1个位置之前还可以设置$offset
。
https://github.com/ArtisticPhoenix/Evo/blob/master/Evo/Debug.php
- 1. 用另一种方法在类中的PHP方法?
- 2. 从同一类中的另一种方法调用方法
- 3. 从同一类中的另一种方法在类实例中调用方法
- 4. AopAlliance(Guice):从截获的方法中调用另一种方法
- 5. PHP - 获取类,其中调用方法
- 6. 在ruby中调用超类中的另一种方法
- 7. 从Python中的同一类中调用另一种方法
- 8. 获取方法被调用的方法?
- 9. junit测试方法调用不同类的另一种方法
- 10. 如何从另一种方法调用JavaScript类的方法?
- 11. 如何获得调用另一种方法的方法
- 12. 一种方法调用字符串的另一种方法
- 13. 如何在dojo中调用另一种方法的父方法
- 14. 如何在RhinoMocks的另一种方法中调用方法?
- 15. 在javascript中调用另一种方法的方法?
- 16. 调用方法中的另一种方法在Java
- 17. 安卓微调衣被合计方法用另一种方式
- 18. 使用以另一种方法在一种方法中启动的类
- 19. 调用另一种方法内的另一种方法的错误
- 20. 在Rails中运行另一种方法之前调用方法
- 21. 如何在另一种方法中调用方法?
- 22. testng在另一种方法中调用参数化方法
- 23. OCMock期望在另一种方法中调用方法
- 24. 调用另一种方法时调用的方法
- 25. 另一种方法中未解决的方法调用引用
- 26. 使用另一种方法中的参数调用方法
- 27. 用Java中的另一种方法调用方法
- 28. 的Javascript:调用的方法中的另一种方法
- 29. 使用另一种方法调用URLconnection
- 30. 另一类中的调用方法
没有,也没有任何充分的理由,为什么你应该需要这个 –
是的,你可以试试'{抛出\异常()}赶上(\ $例外五){$ E-> getTrace( );例如我有一个对象:对象(Opportunity)#3(7){“connection”:protected] => object(Connection)#4(5){}''但是'debug_backtrace()'更快 – ArtisticPhoenix
.....}},我只想从中获得'机会'一词。我可以在没有debug_backtrace()的情况下这样做吗? –