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 Swoole异步Redis客户端实现方法示例

PHP Swoole异步Redis客户端实现方法示例

本文实例讲述了PHP Swoole异步Redis客户端实现方法。分享给大家供大家参考,具体如下: 使用版本:1.8.0及以上 使用条件: 1.开启async-redis php --...

php实现发送微信模板消息的方法

本文实例讲述了php实现发送微信模板消息的方法。分享给大家供大家参考。具体如下: 该方法基于thinkphp实现实现,具体OrderPush.class.php文件如下: 复制代码 代码...

PHP经典面试题集锦

本文较为详细的分析了PHP经典面试题。分享给大家供大家参考。具体如下: 做了一下网络上的php题目,不知不觉做到现在.....把答案贴出来,供参考之用。 1、用PHP打印出前一天的时间格...

EarthLiveSharp中cloudinary的CDN图片缓存自动清理python脚本

恰巧发现有个叫“EarthLiveSharp”,可用将日本向日葵8号卫星的地球实时图片设为屏保。向日葵8号卫星的地球实时图片官网为:http://himawari8.nict.go.jp...

关于PHP内存溢出问题的解决方法

一.内存溢出解决方案在做数据统计分析时,经常会遇到大数组,可能会发生内存溢出,这里分享一下我的解决方案。还是用例子来说明这个问题,如下:假定日志中存放的记录数为500000条,那么解决方...