调试利器 :PHP debug_backtrace

来源:互联网 发布:单片机开发板如何使用 编辑:程序博客网 时间:2024/05/17 02:12

http://my.oschina.net/u/867608/blog/129125#OSC_h1_2


简述

可能大家都知道,php中有一个函数叫debug_backtrace,它可以回溯跟踪函数的调用信息,可以说是一个调试利器。

好,来复习一下。

01one();
02 
03function one() {
04    two();
05}
06 
07function two() {
08    three();
09}
10 
11function three() {
12    print_r( debug_backtrace() );
13}
14 
15/*
16输出:
17Array
18(
19    [0] => Array
20        (
21            [file] => D:\apmserv\www\htdocs\test\debug\index.php
22            [line] => 10
23            [function] => three
24            [args] => Array
25                (
26                )
27 
28        )
29 
30    [1] => Array
31        (
32            [file] => D:\apmserv\www\htdocs\test\debug\index.php
33            [line] => 6
34            [function] => two
35            [args] => Array
36                (
37                )
38 
39        )
40 
41    [2] => Array
42        (
43            [file] => D:\apmserv\www\htdocs\test\debug\index.php
44            [line] => 3
45            [function] => one
46            [args] => Array
47                (
48                )
49 
50        )
51 
52)
53*/


顺便提一下类似的函数:debug_print_backtrace,与之不同的是它会直接打印回溯信息。

回来看debug_backtrace,从名字来看用途很明确,是让开发者用来调试的。直到有一天我注意到它返回的file参数,file表示函数或者方法的调用脚本来源(在哪个脚本文件使用的)。忽然我想到,如果当前脚本知道调用来源,那是否可以根据这个来源的不同,来实现一些有趣的功能,比如文件权限管理、动态加载等。

原创粉丝点击