Как получить имя функции внутри функции в PHP?

это возможно?

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

4 ответов


точный способ-использовать __FUNCTION__ предопределенная магическая константа.

пример:

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

результат: MethodA.


можно использовать магические константы __METHOD__ (включает имя класса) или __FUNCTION__ (просто имя функции) в зависимости от того, является ли это методом или функцией... =)


Если вы используете PHP 5, Вы можете попробовать это:

function a() {
    $trace = debug_backtrace();
    echo $trace[0]["function"];
}

<?php

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

Результат: "MethodA";