private function getVariableName()
{
$arrBacktrace = debug_backtrace();
//possible 'included' functions
$arrInclude = ["include", "include_once", "require", "require_once"];
//check for any included/required files. if found, get array of the last included file (they contain the right line numbers)
for ($i = count($arrBacktrace) - 1; $i >= 0; $i--) {
$arrCurrent = $arrBacktrace[$i];
if (array_key_exists("function", $arrCurrent) && (in_array($arrCurrent["function"], $arrInclude) || 0 != strcasecmp($arrCurrent["function"], "dbug"))) {
continue;
}
$arrFile = $arrCurrent;
break;
}
if (isset($arrFile)) {
$arrLines = file($arrFile["file"]);
$code = $arrLines[$arrFile["line"] - 1];
//find call to dBug class
preg_match('/\\bnew dBug\\s*\\(\\s*(.+)\\s*\\);/i', $code, $arrMatches);
return $arrMatches[1];
}
return "";
}