欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

请教一个关于调试的问题

程序员文章站 2022-06-13 08:47:20
...
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 "
";print_r($obj->getMethods());echo "
"

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