我想獲得已經在一個操作的上下文中運行的函數的列表。這就是需求出現的地方。PHP函數可以動態地知道它的名字嗎?
有沒有辦法像這樣的工作?
function funcX()
{
echo this.nameOrSomethingHere; //outputs funcX
}
由於this example演示,有可能在Javascript中實現此功能。
我總是可以選擇一種替代解決方案來照顧我的原始需求,例如使用替代方法如下;
function funcX()
{
$this_function_name = "funcX";
Add_this_to_the_already_executed_functions_list($this_function_name);
}
而在這裏,在Add_this_to_the_already_executed_functions_list功能是接受傳遞的字符串,並將其添加到全局定義的數組,以便在關機過程結束時,你能得到的已經在已經運行的所有功能的視圖最後一頁。
上述方法可行,但很明顯,它不是優雅的,因爲它不是動態的。
這本來是很高興能夠做這樣的事
function funcX()
{
Add_this_to_the_already_executed_functions_list(this.????);
}
的問題是,如果有一種方法在PHP中做到這一點?
有趣的是,爲什麼你想做到這一點我可以問嗎?我建議看看XDebug + KCacheGrind – 2012-03-04 15:05:27