在PHP中,是否可以獲取實例化對象的腳本的文件名?實例化對象的腳本的文件名
例如,我有一個名爲file.php的腳本,它創建了一個類Class的新實例。該類有一個Error對象,在觸發時會返回一些錯誤信息。我想顯示file.php引發了錯誤。
在PHP中,是否可以獲取實例化對象的腳本的文件名?實例化對象的腳本的文件名
例如,我有一個名爲file.php的腳本,它創建了一個類Class的新實例。該類有一個Error對象,在觸發時會返回一些錯誤信息。我想顯示file.php引發了錯誤。
函數debug_backtrace()可能有用嗎?它顯示從下到上的執行流程。
error_get_last返回的數組是否滿足您的需求?該函數'返回一個關聯數組,描述鍵入「type」,「message」,「file」和「line」的最後一個錯誤。如果尚未出現錯誤,則返回NULL。 '
這是一個自定義錯誤記者,不是PHP錯誤,但也要感謝這個功能。 – Calvin 2010-04-21 09:49:37
作爲啓Sellgren說,可以使用的debug_backtrace()函數。 您也可以拋出異常並獲得回溯。
try
{
throw new Exception();
}
catch(Exception $e)
{
print_r($e->getTrace());
}
由於得到一個回溯可能需要一些時間,你應該標杆兩種解決方案,看看哪些是最快的。
順便說一下,請不要將您的錯誤對象作爲Exception的子類嗎?這就是爲什麼例外存在的原因...
這隻會在Class的構造函數內觸發錯誤時才起作用,否?也許這就是他想要的,我不知道。 – Savageman 2010-04-21 09:44:51
謝謝,正是我在找的! – Calvin 2010-04-21 09:45:32
@Savageman,是的,這就是它被觸發的地方,但這也是知道的。 – Calvin 2010-04-21 09:47:00