Işlev çağrısı hakkında ayrıntılı bilgi alın

1 Cevap php

PHP, ben işlevinin kendisi içinde bir işlev çağrısı hakkında bilgi almak istiyorum. Ben (bu yapmadan) istediğiniz davranışı debug_backtrace() işlevine argüman olarak geçirilen sahip olmaktır.

Ben bir işleve her çağrı için, otomatik olarak yapılmasını istiyorum.

Ben bu yüzden ben üzerinde çalışıyorum oldukça büyükçe bir proje için ön tanımlı hataları olabilir bu gerekir, ancak bu aşağı izleme için çok kullanışlı değil gibi Açıkçası, merkezi trigger_error() çağrı satır numarasını istiyorum sorun. Ben de bir debug_backtrace() argüman hatırlamak gelecek geliştiriciler saymak istemiyorum.

1 Cevap

Eğer debug_backtrace() kendinizi arayabilirsiniz fark yoktur, ve hemen hemen aynı olacaktır. Örneğin:

function error(..params)
{
    $backtrace = debug_backtrace();
    array_shift($backtrace);
}

Eğer array_shift verilen backtrace, bu işlevi geçirilen sanki olacaktır eğer.

Eğer aşina değilseniz:

array_shift() kapalı dizinin ilk değerini kaydırır ve bir öğe tarafından diziyi kısaltarak ve her şey aşağı hareket, onu döndürür.

Debug_backtrace () sayısal endeksli çünkü Böylece, bu aynı hareket edecektir.