如何在PHP函数的外部获取函数名称?

时间:2019-08-01 12:04:29

标签: php function

这可能吗?

伪代码:

class MyClass
{
  function myFunc1()
  {
     ...
  }
  function myFunc2()
  {
    echo GET_FUNCTION_NAME($this->myFunc1)
  }
}

想要的输出:

myFunc1

GET_FUNCTION_NAME方法/函数/构造/上方的代码中,任何会返回以参数形式给出的函数名称的文本表示形式。

因此,重点是从外部函数中获取作为字符串的函数名称

我找到的所有代码都涉及通过字符串提供函数名称(例如,指定回调方法),但是它们都没有提到如何获取该函数名称而无需手动将其写入字符串 >(因此,将代码复制到字符串中并使重构变得比需要的困难)。
从功能内部使用OTOH即可轻松实现。 __FUNCTION__变量,因此我不需要该变量。

编辑

典型的用例是任何回调方法。
我遇到此问题的一个示例是set_error_handler()方法,它在等待callable作为第一个参数。 callable可以简化为string。问题是,如果我将函数名称指定为字符串,那么以后在将来任何时候进行重构时,我都必须格外小心地搜索字符串并对其进行特殊处理,否则会留下错误的引用在那里。
更不用说任何名称都应该定义一次且任何其他用途都应引用该名称的原则。

0 个答案:

没有答案