[英]PHP: how do I know the caller of a function?
我怎么知道php中函數的調用者?
不知道為什么你會關心這個,但你可以從debug_backtrace()
函數中debug_backtrace()
。
我不確定你為什么要這樣,但是讓我提出一個巨大的紅旗 - 編寫代碼,其行為取決於調用者生成非常模塊化,難以調試和徹頭徹尾的瘋狂程序。 也就是說,如果你有正當理由,那就像......
function caller()
{
$stackTrace = debug_backtrace();
if (count ($stackTrace) < 1)
return "None";
else if (count ($stackTrace) < 2)
return "Global scope " . $stackTrace[count($stackTrace)]["file"];
else
return $stackTrace[count($stackTrace) - 1]["function"];
}
(這是從袖口上寫下的,所以在所有情況下可能都不健壯。有關更多信息,請參閱http://uk3.php.net/manual/en/function.debug-backtrace.php )
我怎么知道php中函數的調用者?
將它傳遞給被叫者。 這是最理智的方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.