PHP debug_backtrace() º¯Êý

ʵÀý

Éú³É PHP backtrace£º

<?php
 function a($txt) {
     b("Glenn");
 }
 function b($txt) {
     c("Cleveland");
}
 function c($txt) {
     var_dump(debug_backtrace());
 }
 a("Peter");
 ?> 

ÒÔÉÏ´úÂëµÄÊä³öÀàËÆÕâÑù£º

Array (
     [0] => Array (
         [file] => C:\webfolder\test.php
         [line] => 6
         [function] => c
         [args] => Array (
             [0] => Cleveland
         )
     )
     [1] => Array (
         [file] => C:\webfolder\test.php
         [line] => 3
         [function] => b
         [args] => Array (
             [0] => Glenn
         )
     )
     [2] => Array (
         [file] => C:\webfolder\test.php
         [line] => 11
         [function] => a
         [args] => Array (
             [0] => Peter
         )
     )
 )

¶¨ÒåºÍÓ÷¨

debug_backtrace() º¯ÊýÉú³É backtrace£¨»ØËݸú×Ù£©¡£

¸Ãº¯ÊýÏÔʾÓÉ debug_backtrace() º¯Êý´úÂëÉú³ÉµÄÊý¾Ý¡£

·µ»ØÒ»¸ö¹ØÁªÊý×é¡£¿ÉÄÜ·µ»ØµÄÔªËØÈçÏ£º

Ãû³Æ ÀàÐÍ ÃèÊö
function string µ±Ç°º¯ÊýÃû³Æ
line integer µ±Ç°ÐкÅ
file string µ±Ç°ÎļþÃû
class string µ±Ç°ÀàÃû
object object µ±Ç°¶ÔÏó
type string

µ±Ç°µ÷ÓÃÀàÐÍ¡£¿ÉÄܵĵ÷Óãº

  • ·µ»Ø: "->" - ·½·¨µ÷ÓÃ
  • ·µ»Ø: "::" - ¾²Ì¬·½·¨µ÷ÓÃ
  • ·µ»Ø nothing - º¯Êýµ÷ÓÃ
args array Èç¹ûÔÚº¯ÊýÖУ¬Áгöº¯Êý²ÎÊý¡£Èç¹ûÔÚ±»ÒýÓõÄÎļþÖУ¬Áгö±»ÒýÓõÄÎļþÃû¡£

Óï·¨

debug_backtrace(options,limit);
²ÎÊý ÃèÊö
options

¿ÉÑ¡¡£¹æ¶¨ÒÔÏÂÑ¡ÏîµÄλÑÚÂ룺

  • DEBUG_BACKTRACE_PROVIDE_OBJECT £¨ÊÇ·ñÌî³ä "object" µÄË÷Òý£©
  • DEBUG_BACKTRACE_IGNORE_ARGS £¨ÊÇ·ñºöÂÔ "args" µÄË÷Òý£¬°üÀ¨ËùÓÐµÄ function/method µÄ²ÎÊý£¬Äܹ»½ÚÊ¡Äڴ濪Ïú¡££©
limit ¿ÉÑ¡¡£ÏÞÖÆ·µ»Ø¶ÑÕ»Ö¡µÄÊýÁ¿¡£Ä¬ÈÏΪ (limit=0) £¬·µ»ØËùÓеĶÑÕ»Ö¡¡£

¼¼Êõϸ½Ú

·µ»ØÖµ£º None
PHP °æ±¾£º 4.3+
PHP ¸üÐÂÈÕÖ¾

PHP 5.4£ºÌí¼ÓÁË¿ÉÑ¡µÄ²ÎÊý limit¡£

PHP 5.3.6£º²ÎÊý provide_object ¸Ä³É options£¬²¢ÇÒÔö¼ÓÁË¿ÉÑ¡²ÎÊý DEBUG_BACKTRACE_IGNORE_ARGS¡£

PHP 5.2.5£ºÌí¼ÓÁË¿ÉÑ¡²ÎÊý provide_object¡£

PHP 5.1.1£ºÌí¼ÓÁ˵±Ç°µÄ object Ϊ¿ÉÄÜ·µ»ØµÄÔªËØ¡£

VUE