Как получить имя функции внутри функции в 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();
?>

Результат: "Метод А";

Другие вопросы по тегам