(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
debug_backtrace — Hata izleme raporunu bir dizi olarak üretir
Hata izleme raporunu (backtrace) bir dizi olarak üretir.
seçeneklerAşağıdaki seçeneklerin bit maskesidir:
| DEBUG_BACKTRACE_PROVIDE_OBJECT |
"object" indisinin doldurulup doldurulmayacağı.
|
| DEBUG_BACKTRACE_IGNORE_ARGS |
Bellek kazanmak için "args" indisinin ve
dolayısıyla tüm işlev/yöntem bağımsız değişkenlerinin atlanıp
atlanmayacağı.
|
Bilginize:
Olası dört durum vardır:
debug_backtrace() seçenekleri debug_backtrace()Her iki indis doldurulur. debug_backtrace(DEBUG_BACKTRACE_PROVIDE_OBJECT)debug_backtrace(1)debug_backtrace(0)"object"indisini atlar ve"args"indisini doldurur.debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS)"object"ve"args"indisi atlanır.debug_backtrace(2)debug_backtrace(DEBUG_BACKTRACE_PROVIDE_OBJECT|DEBUG_BACKTRACE_IGNORE_ARGS)"object"indisini doldurur ve"args"indisini atlar.debug_backtrace(3)
sınır
Bu bağımsız değişken döndürülecek yığıt çerçevelerinin
sayısını sınırlamak için kullanılmaktadır. Öntanımlı değer, tüm yığıt
çerçevelerinin dönmesini sağlayan 0 değeridir.
Bir ilişkisel diziler dizisi döner. Dönmesi olası değerler:
| İsim | Tür | Açıklama |
|---|---|---|
function |
string | O anki işlev ismi. Ayrıca bakınız: __FUNCTION__. |
line |
int | O anki satır numarası. Ayrıca bakınız: __LINE__. |
file |
string | O anki dosya ismi. Ayrıca bakınız: __FILE__. |
class |
string | O anki sınıf ismi. Ayrıca bakınız: __CLASS__ |
object |
object | O anki nesne. |
type |
string | O anki çağrı türü. Bir yöntem çağrısı ise "->", bir statik yöntem çağrısı ise "::" içerir. Bir işlev çağrısı ise hiçbir şey içermez. |
args |
array | Bir işlevde, işlevin bağımsız değişkenlerini; bir dosyada, dahil edilen dosyalar varsa dahil edilen dosya isimlerini içerir. |
Örnek 1 - debug_backtrace() örneği
<?php
// /tmp/a.php dosyası
function a_test($str)
{
echo "\nHi: $str";
var_dump(debug_backtrace());
}
a_test('friend');
?>
<?php
// /tmp/b.php dosyası
include_once '/tmp/a.php';
?>/tmp/b.php çalıştırılırken sonuçlar şuna benzer:
Hi: friend
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) "friend"
}
}
[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"
}
}