代码之家  ›  专栏  ›  技术社区  ›  Calvin

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

  •  1
  • Calvin  · 技术社区  · 16 年前

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

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

    3 回复  |  直到 16 年前
        1
  •  2
  •   Tower    16 年前

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

        2
  •  2
  •   Macmade    16 年前

    调试回溯() 您还可以抛出并捕获异常以获得回溯。

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

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

    顺便问一下,你的error对象不应该是Exception的子类吗?这就是为什么会有例外。。。

        3
  •  1
  •   graydot    16 年前

    上次返回的错误数组是否有可能满足您的需要?函数'返回一个关联数组,用键“type”、“message”、“file”和“line”描述上一个错误。如果尚未出现错误,则返回NULL。'

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