Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP函数能否动态地知道其名称?_Php - Fatal编程技术网

PHP函数能否动态地知道其名称?

PHP函数能否动态地知道其名称?,php,Php,我试图获取已经在操作上下文中运行的函数的列表。这就是需求产生的地方 有没有办法得到这样的作品 function funcX() { echo this.nameOrSomethingHere; //outputs funcX } 如图所示,可以在Javascript中实现此功能 我总是可以找到一个替代的解决方案来满足我的原始需求,比如以下替代方法 function funcX() { $this_function_name = "funcX"; Add_this_to

我试图获取已经在操作上下文中运行的函数的列表。这就是需求产生的地方

有没有办法得到这样的作品

function funcX()
{
    echo this.nameOrSomethingHere; //outputs funcX
} 
如图所示,可以在Javascript中实现此功能

我总是可以找到一个替代的解决方案来满足我的原始需求,比如以下替代方法

function funcX()
{
    $this_function_name = "funcX";
    Add_this_to_the_already_executed_functions_list($this_function_name);     
} 
在这里,Add_this_to_the_haven_executed_functions_list functions任务是获取传递的字符串并将其添加到全局定义的数组中,这样在关闭过程结束时,您可以查看在最后一页中运行的所有函数

上面的方法是可行的,但是,很明显,它不是优雅的,因为它不是动态的

能做这样的事情会很好

function funcX()
{
     Add_this_to_the_already_executed_functions_list(this.????);     
} 
问题是,在PHP中是否有这样做的方法

您可以使用获取当前函数的名称。


debug\u backtrace
将告诉您这一点以及更多信息。最适合调试,但您可以将其用于任何需要的用途。

使用
\uuuu函数\uuu


有趣的是,我可以问一下你为什么要这么做吗?我建议查看XDebug+KCacheGrind