debug_backtrace
第一個參數:常量
DEBUG_BACKTRACE_PROVIDE_OBJECT | 是否填充 "object" 的索引。 |
DEBUG_BACKTRACE_IGNORE_ARGS | 是否忽略 "args" 的索引,包括所有的 function/method 的參數,能夠節省內存開銷。 |
第二個參數:limit (int)
用於限制返回堆棧幀的數量。 默認爲 (
limit
=0) ,返回所有的堆棧幀
返回值
返回一個包含衆多關聯數組的 array。 以爲爲有可能返回的元素:
名字 | 類型 | 說明 |
---|---|---|
function | string | 當前的函數名,參見: __FUNCTION__。 |
line | integer | 當前的行號。參見: __LINE__。 |
file | string | 當前的文件名。參見: __FILE__。 |
class | string | 當前 class 的名稱。參見 __CLASS__ |
object | object | 當前的 object。 |
type | string | 當前調用的類型。如果是一個方法,會返回 "->"。如果是一個靜態方法,會返回 "::"。 如果是一個函數調用,則返回空。 |
args | array | 如果在一個函數裏,這會列出函數的參數。 如果是在一個被包含的文件裏,會列出包含的文件名。 |
其實返回的是一個調用層級,先調用的放在在數組的後面(數組小標大);
應用:
1.調試,可以根據調用的流程,知道這個請求的執行流程;
2.當你放在一個公共的函數裏,這樣就能動態的獲取調用這個公共函數的方法名稱。