web-dev-qa-db-ja.com

PHPの関数内で関数名を取得するにはどうすればよいですか?

出来ますか?

function test()
{
  echo "function name is test";
}
217
omg

正確な方法は、__FUNCTION__事前定義されたマジック定数 を使用することです。

例:

class Test {
    function MethodA(){
        echo __FUNCTION__;
    }
}

結果:MethodA

361
Silfverstrom

マジック定数__METHOD__(クラス名を含む)または__FUNCTION__(関数名のみ)を使用できます(メソッドか関数かによって異なります... =)

93

PHP 5を使用している場合、これを試すことができます:

function a() {
    $trace = debug_backtrace();
    echo $trace[0]["function"];
}
16
Kevin Newman
<?php

  class Test {
     function MethodA(){
         echo __FUNCTION__ ;
     }
 }
 $test = new Test;
 echo $test->MethodA();
?>

結果:「MethodA」。

1
Snehal K