source: branches/version-2_5-dev/data/module/Compat/Compat/Function/debug_print_backtrace.php @ 20119

Revision 20119, 2.5 KB checked in by nanasess, 13 years ago (diff)

module 以下は svn:keywords を除外

  • Property svn:eol-style set to LF
  • Property svn:mime-type set to text/x-httpd-php; charset=UTF-8
Line 
1<?php
2// +----------------------------------------------------------------------+
3// | PHP Version 4                                                        |
4// +----------------------------------------------------------------------+
5// | Copyright (c) 1997-2004 The PHP Group                                |
6// +----------------------------------------------------------------------+
7// | This source file is subject to version 3.0 of the PHP license,       |
8// | that is bundled with this package in the file LICENSE, and is        |
9// | available at through the world-wide-web at                           |
10// | http://www.php.net/license/3_0.txt.                                  |
11// | If you did not receive a copy of the PHP license and are unable to   |
12// | obtain it through the world-wide-web, please send a note to          |
13// | license@php.net so we can mail you a copy immediately.               |
14// +----------------------------------------------------------------------+
15// | Authors: Laurent Laville <pear@laurent-laville.org>                  |
16// |          Aidan Lister <aidan@php.net>                                |
17// +----------------------------------------------------------------------+
18//
19// $Id: debug_print_backtrace.php,v 1.3 2005/08/17 02:58:09 aidan Exp $
20
21
22/**
23 * Replace debug_print_backtrace()
24 *
25 * @category    PHP
26 * @package     PHP_Compat
27 * @link        http://php.net/function.debug_print_backtrace
28 * @author      Laurent Laville <pear@laurent-laville.org>
29 * @author      Aidan Lister <aidan@php.net>
30 * @version     $Revision: 1.3 $
31 * @since       PHP 5
32 * @require     PHP 4.3.0 (debug_backtrace)
33 */
34if (!function_exists('debug_print_backtrace')) {
35    function debug_print_backtrace()
36    {
37        // Get backtrace
38        $backtrace = debug_backtrace();
39
40        // Unset call to debug_print_backtrace
41        array_shift($backtrace);
42       
43        // Iterate backtrace
44        $calls = array();
45        foreach ($backtrace as $i => $call) {
46            $location = $call['file'] . ':' . $call['line'];
47            $function = (isset($call['class'])) ?
48                $call['class'] . '.' . $call['function'] :
49                $call['function'];
50           
51            $params = '';
52            if (isset($call['args'])) {
53                $params = implode(', ', $call['args']);
54            }
55
56            $calls[] = sprintf('#%d  %s(%s) called at [%s]',
57                $i,
58                $function,
59                $params,
60                $location);
61        }
62
63        echo implode("\n", $calls);
64    }
65}
66
67?>
Note: See TracBrowser for help on using the repository browser.