debug backtrace

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök

debug_backtrace

_(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)_

debug_backtrace — Genererar en bakspårning

Beskrivning

debug_backtrace(int $options = DEBUG_BACKTRACE_PROVIDE_OBJECT, int $limit = 0): array

debug_backtrace genererar en PHP-bakspårning.

Parametrar

options Detta är en bitmask för följande alternativ:

debug_backtrace options

  • DEBUG_BACKTRACE_PROVIDE_OBJECT – Anger om "object"-indexet ska fyllas i.
  • DEBUG_BACKTRACE_IGNORE_ARGS – Anger om "args"-indexet ska utelämnas för att spara minne.

Fyra kombinationer är möjliga:

  • debug_backtrace() – Fyller i båda indexen.
  • debug_backtrace(DEBUG_BACKTRACE_PROVIDE_OBJECT) eller debug_backtrace(1) – Utelämnar index "object" men fyller i "args".
  • debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS) eller debug_backtrace(2) – Utelämnar index "object" och "args".
  • debug_backtrace(DEBUG_BACKTRACE_PROVIDE_OBJECT|DEBUG_BACKTRACE_IGNORE_ARGS) eller debug_backtrace(3) – Fyller i "object" och utelämnar "args".

limit Används för att begränsa antalet stackramar som returneras. Standardvärdet (limit=0) returnerar alla stackramar.

Returvärden

Returnerar en array av associativa arrayer. De möjliga elementen är:

Namn Typ Beskrivning
function string Det aktuella funktionsnamnet. Se även __FUNCTION__.
line int Den aktuella radnumret. Se även __LINE__.
file string Den aktuella filnamnet. Se även __FILE__.
class string Den aktuella klassnamnet. Se även __CLASS__.
object object Det aktuella objektet.
type string Den aktuella anropstypen. Returnerar "->" för metodanrop och "::" för statiska metodanrop.
args array Listar funktionens argument. Om inuti en inkluderad fil listas de inkluderade filnamnen.

Exempel

<?php
// Filnamn: /tmp/a.php

function a_test($str)
{
    echo "\nHej: $str";
    var_dump(debug_backtrace());
}

a_test('vän');
?>

<?php
// Filnamn: /tmp/b.php
include_once '/tmp/a.php';
?>

Körning av /tmp/b.php ger ett resultat som liknar:

Hej: vän
array(2) {
    [0]=>
    array(4) {
        ["file"] => string(10) "/tmp/a.php"
        ["line"] => int(10)
        ["function"] => string(6) "a_test"
        ["args"]=>
        array(1) {
          [0] => &string(6) "vän"
        }
    }
    [1]=>
    array(4) {
        ["file"] => string(10) "/tmp/b.php"
        ["line"] => int(2)
        ["args"] =>
        array(1) {
          [0] => string(10) "/tmp/a.php"
        }
        ["function"] => string(12) "include_once"
      }
}

Se även

Sidslut

Orginalhemsidan på Engelska :https://www.php.net/manual/en/function.debug-backtrace.php

PHP Funktioner Funktionsreferens


Det här är en maskinöversättning av PHP-manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på https://www.linux.se/kontaka-linux-se/

Tack till Datorhjälp Stockholm som har sponsrat Linux.se med webserver.