如何获得运行该功能的功能?

时间:2019-01-14 04:16:14

标签: php

我正在使用错误日志功能,我想包括在错误日志期间发生错误的功能。有没有一种方法可以编写函数,而不是每次都编写函数?

<?php 

$a = null;

exampleFunction($a);

function exampleFunction($variable){

  if(is_null($variable)){

    errorLog("variable is null. ");

  }

}

function errorLog($text){

 error_log($text, 3, ".testLog");

}

?>

__FUNCTION__不是解决方案。如果我使用__FUNCTION__,则会收到“ errorLog”。我想知道正在运行errorLog的函数的名称。

例如;

function errorLog($text){

  error_log($text.' Function : '.$functionName, 3, ".testLog");

}

1 个答案:

答案 0 :(得分:3)

您可以使用debug_backtrace获取函数调用堆栈的列表:

<?php
function foo()
{
    bar();
}

function bar()
{
    echo debug_backtrace()[1]['function'];
}

foo();

输出:

foo