实例化对象的脚本的文件名

时间:2010-04-21 09:39:37

标签: php debugging

在PHP中,是否可以获取实例化对象的脚本的文件名?

例如,我有一个名为file.php的脚本,它创建了一个类Class的新实例。该类有一个Error对象,当触发时,返回一些错误信息。我想表明file.php触发了错误。

3 个答案:

答案 0 :(得分:2)

函数debug_backtrace()可能有用吗?它显示了从下到上的执行流程。

答案 1 :(得分:2)

正如Kai Sellgren所说,可以使用 debug_backtrace()函数。 您还可以抛出并捕获异常以获得回溯。

try
{
    throw new Exception();
}
catch( Exception $e )
{
    print_r( $e->getTrace() );
}

由于获得回溯可能需要一些时间,因此您应该对两种解决方案进行基准测试,以确定哪种解决方案最快。

顺便说一下,你的错误对象不应该是Exception的子类吗?这就是为什么存在例外的原因......

答案 2 :(得分:1)

error_get_last的返回数组是否满足您的需求?函数'返回一个关联数组,用关键字“type”,“message”,“file”和“line”来描述最后一个错误。如果还没有错误,则返回NULL。 “

http://www.php.net/manual/en/function.error-get-last.php