php 调试利器debug_print_backtrace()

yipeiwu_com6年前PHP代码库
如果我们想知道某个方法被谁调用了? debug_print_backtrace可以解决
debug_print_backtrace() 可以打印出一个页面的调用过程 , 从哪儿来到哪儿去一目了然.
不过这是一个PHP5的专有函数,好在pear中已经有了实现,
http://pear.php.net/package/PHP_Compat

测试代码
复制代码 代码如下:

<?php
class a{
function say($msg) {
echo "msg:".$msg;
echo "<pre>";debug_print_backtrace();
}
}

class b {
function say($msg) {
$a = new a();
$a->say($msg);
}
}

class c {
function __construct($msg) {
$b = new b();
$b->say($msg);
}
}

$c = new c("test");

输出结果
复制代码 代码如下:

msg:test
#0 a->say(test) called at [/var/www/test/test0723.php:12]
#1 b->say(test) called at [/var/www/test/test0723.php:19]
#2 c->__construct(test) called at [/var/www/test/test0723.php:23]

相关链接

http://ch2.php.net/manual/zh/function.debug-print-backtrace.php
http://ch2.php.net/manual/zh/function.debug-backtrace.php

相关文章

php获取网页内容方法总结

抓取到的内容在通过正则表达式做一下过滤就得到了你想要的内容,至于如何用正则表达式过滤,在这里就不做介绍了,有兴趣的,以下就是几种常用的用php抓取网页中的内容的方法。1.file_get...

PHP程序员学习使用Swoole的理由

PHP程序员学习使用Swoole的理由

最近两个月一直在研究 Swoole,研究成果即将在6.21正式开源发布,这段时间没有来水文章,趁着今天放假来水水吧。 借助这篇文章,我希望能够把 Swoole 安利给更多人。虽然 Swo...

PHP函数extension_loaded()用法实例

本文实例讲述了PHP函数extension_loaded()用法。分享给大家供大家参考。具体分析如下: extension_loaded — 检查一个扩展是否已经加载 例如: 复制代码...

Linux平台php命令行程序处理管道数据的方法

本文实例讲述了Linux平台php命令行程序处理管道数据的方法。分享给大家供大家参考,具体如下: linux下有一个强大的命令|(管道提示符).它的作用是将前一个命令的结果交给后一条命令...

PHP实现清除wordpress里恶意代码

公司一些wordpress网站由于下载的插件存在恶意代码,导致整个服务器所有网站PHP文件都存在恶意代码,就写了个简单的脚本清除。 恶意代码示例 复制代码 代码如下: <?...