debug_backtrace返回調用這個函數的層次關係

debug_backtrace

 第一個參數:常量

    

DEBUG_BACKTRACE_PROVIDE_OBJECT是否填充 "object" 的索引。
DEBUG_BACKTRACE_IGNORE_ARGS是否忽略 "args" 的索引,包括所有的 function/method 的參數,能夠節省內存開銷。 

 第二個參數:limit (int) 

 用於限制返回堆棧幀的數量。       默認爲 (limit=0) ,返回所有的堆棧幀


返回值

返回一個包含衆多關聯數組的 array。   以爲爲有可能返回的元素:


有可能從 debug_backtrace() 返回的元素
名字類型說明
functionstring當前的函數名,參見:         __FUNCTION__
lineinteger當前的行號。參見:         __LINE__
filestring當前的文件名。參見:         __FILE__
classstring當前 class 的名稱。參見         __CLASS__        
objectobject當前的 object
typestring當前調用的類型。如果是一個方法,會返回 "->"。如果是一個靜態方法,會返回 "::"。        如果是一個函數調用,則返回空。
argsarray如果在一個函數裏,這會列出函數的參數。        如果是在一個被包含的文件裏,會列出包含的文件名。 


其實返回的是一個調用層級,先調用的放在在數組的後面(數組小標大);

應用:

1.調試,可以根據調用的流程,知道這個請求的執行流程;

2.當你放在一個公共的函數裏,這樣就能動態的獲取調用這個公共函數的方法名稱。





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章