簡體   English   中英

PHP:我如何知道函數的調用者?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM