找到我所处方法的名称

时间:2012-08-02 22:33:36

标签: php methods

  

可能重复:
  get current class and method?

我怎样才能找到我在php中使用的方法的名称?我发现如何在C中执行此操作,但不在PHP中执行此操作。我在这里发现了一个Q,大致谈到了魔法常数(here),但我并没有真正理解它。在以下示例中,我希望$ thisMethodName为'model_databaseLogin'

EG:

public function model_databaseLogin()
{
$thisMethodName = ... ;
return $this->model_methodCheck( $thisMethodName );
}

这可能在PHP吗?

2 个答案:

答案 0 :(得分:3)

你需要"魔法常数" __METHOD__magic constant docs应该会有所帮助。

所以你的代码是:

public function model_databaseLogin() {
    $thisMethodName = __METHOD__;
    return $this->model_methodCheck($thisMethodName);
}

答案 1 :(得分:0)

最简单的答案是你所指的神奇常数;特别是__FUNCTION__

这些被称为“魔术”,因为它们的价值实际上是上下文动态的。

public function model_databaseLogin()
{
$thisMethodName = __FUNCTION__;
return $this->model_methodCheck( $thisMethodName );
}

还有另一种方法,通过debug_backtrace(),但效率明显降低!