class myExample
{
public function example_fn()
{
$example_val = $this->some_fn();
_debug( $example_val, _get_position() );
}
}
/**
* Debug function
*/
function _debug( $input, $position )
{
$output = '<strong>Inside: '.$position.'</strong><br />';
$output .= '<pre>';
$output .= print_r( var_export( $input, true ), true );
$output .= '</pre>';
return print $output;
}
/**
* Position function
*/
function _get_position()
{
return 'Class: '.__CLASS__.' // Function: '.__FUNCTION__.' // Line: '.__LINE__;
}
使用当前设置,输出将返回_get_position()
函数定义的位置值。
我可以以某种方式获取调用_get_position()
函数的类/函数/行吗?
谢谢!
答案 0 :(得分:3)
答案 1 :(得分:1)
你必须使用debug_backtrace:
function _get_position()
{
$stack = debug_backtrace();
return 'Class: '.$stack[1]['class'].' // Function: '.$stack[1]['function'].' // Line: '.$stack[0]['line'];
}