首页 >后端开发 >php教程 >请教一个关于调试的问题

请教一个关于调试的问题

WBOY
WBOY原创
2016-06-23 14:24:18960浏览

class A extends class B;
class B extends class C;
A->test();
A,B,C中分别有很多方法,有没有什么测试方法能追踪到 此时 test方法是在哪个类中?
我发现print_r和var_dump 把类名传进去,只能打印出属性信息,不能打印出方法的信息。
请问,查询方法信息有没有什么调试方法啊,刚开始学php,求指教。


回复讨论(解决方案)

var_dump(debug_backtrace());

var_dump(debug_backtrace());
这句话写在什么位置啊

写在test()方法里面

写在test()方法里面

可是不知道test方法在哪啊,现在想做的就是找到test方法的位置啊;

那只能用编辑器查找了吧,也很简单。

那只能用编辑器查找了吧,也很简单。

实际情况是A extends B ,B extends C , C extends D , D entends E .每个类中都有很多文件,如果A中有那个方法就会调用A的,B中没有才会在C中找。文本编辑器查的话得从A开始查,多麻烦啊

才几个文件就嫌麻烦了? 这是不行的。

可以通过php反射机制获取

$obj= new ReflectionClass("demo"); // demo 是一个类名echo "<pre class="brush:php;toolbar:false">";print_r($obj->getMethods());echo "
"

使用编辑器搜一下就知道了

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn