Как получить имя функции внутри функции в PHP? - PullRequest
209 голосов
/ 17 июня 2009

Возможно ли это?

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

Ответы [ 4 ]

353 голосов
/ 17 июня 2009

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

Пример:

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

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

91 голосов
/ 17 июня 2009

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

15 голосов
/ 17 июня 2009

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

function a() {
    $trace = debug_backtrace();
    echo $trace[0]["function"];
}
1 голос
/ 02 апреля 2018
<?php

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

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

...