Fungu debug_backtrace() ya PHP

Mbinu

Kupata backtrace ya PHP:

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

Muundo wa maelezo wa programu hulikaa kama hii:

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
         )
     )
 )

Muhtasari na matumizi

Fungu debug_backtrace() inaisha backtrace (kuelezea mafikira ya programu)

Fungu inaeza kusoma data yenye na kufichwa na programu debug_backtrace()

Inaisha kipendekeza kikamilishi cha jipya. Mawili yana kutoa viwango vitu vikubaliana:

Jina Aina Maelezo
function string Jina la funguo sasa
line integer Namba ya mawili sasa
file string Jina la faili sasa
class string Jina la kikundi sasa
object object Mwili sasa
type string

Aina ya kusikia sasa. Aina ambazo zinaweza kusikia:

  • Inatuma: "->" - kumtumia method
  • Inatuma: "::" - kumtumia method
  • Inatuma nothing - kumtumia function
args array Kama inahusiana na function, inaruhusu parameter ya function. Kama inahusiana na faili iliyotumiwa, inaruhusu jina la faili lililotumiwa.

Inasukumwa

debug_backtrace(options,limit);
Parameter Maelezo
options

Inayopendekeza. Inasababisha tabia za chaguo zifuatazo:

  • DEBUG_BACKTRACE_PROVIDE_OBJECT (Inafill kwa "object" ya kichwa)
  • DEBUG_BACKTRACE_IGNORE_ARGS (Inasikitsha "args" ya kichwa, kila parameter ya function/method, inaweza kumpenda kikulima cha habari.)
limit Inayopendekeza. Kulinganza namba ya kipindi cha uharibifu. Kwa msingi ni (limit=0) , inatuma kila kipindi cha uharibifu.

Vivutio ya teknolojia

Matokeo: None
Toleo la PHP: 4.3+
Mjogoto wa PHP

PHP 5.4: Kipendekeza parameter limit.

PHP 5.3.6: Parameter provide_object Kubadilisha optionsna kuongeza parameter ya DEBUG_BACKTRACE_IGNORE_ARGS.

PHP 5.2.5: Kipendekeza kwa ajili ya parameter provide_object.

PHP 5.1.1: Kipendekeza kwa sasa object Kwa sababu ya kuzungumza kwa vitu ambavyo vinaweza kuzuka.