在PHP中,是否可以获取实例化对象的脚本的文件名?
例如,我有一个名为file.php的脚本,它创建了一个类Class的新实例。该类有一个Error对象,当触发时,返回一些错误信息。我想表明file.php触发了错误。
答案 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。 “