在PHP 7.2中,debug變得更加容易了。我們可以使用各種工具來調(diào)試我們的PHP應(yīng)用程序,以快速識別和修復(fù)問題。本文將探討如何使用PHP 7.2的新功能調(diào)試PHP代碼。
最常用的調(diào)試工具是錯誤報告。在PHP 7.2中,錯誤報告已經(jīng)顯著改進,以更好地指出代碼中的問題。如果你的代碼出現(xiàn)錯誤,PHP會生成詳細的錯誤報告,告訴你出了什么問題,以及出問題的具體位置。下面是一個示例:
name; ?>在這里,我們試圖獲取一個不存在的屬性,當(dāng)我們在瀏覽器中查看頁面時,我們會看到以下錯誤:
Fatal error: Uncaught Error: Trying to get property 'name' of non-object in /home/username/public_html/script.php on line 2可以看到,錯誤報告非常詳細,告訴我們我們的代碼有什么問題,發(fā)生了什么錯誤,以及在哪個文件的哪一行出了問題。 除了錯誤報告,PHP 7.2還引入了一個新的函數(shù) - debug_backtrace()。這個函數(shù)可以讓你跟蹤你的代碼的執(zhí)行路徑,以幫助你找到代碼中的問題。下面是一個示例:在這里,我們調(diào)用了3個函數(shù)A()、B()和C()。C()函數(shù)使用了debug_backtrace()函數(shù)來打印出函數(shù)的執(zhí)行路徑。當(dāng)我們運行這個腳本時,我們會在瀏覽器中看到以下輸出:
#0 C() called at [/home/username/public_html/script.php:7] #1 B() called at [/home/username/public_html/script.php:3] #2 A() called at [/home/username/public_html/script.php:9]可以看到,debug_backtrace()函數(shù)提供了代碼執(zhí)行的詳細信息,包括函數(shù)名稱和調(diào)用該函數(shù)的腳本文件和行號。 最后,我們來看看PHP 7.2的另一個新功能 - Throwable接口。這個接口允許我們使用try-catch語句來處理任何類型的錯誤,包括運行時錯誤、異常和錯誤。下面是一個示例:
getMessage(); } ?>在這里,我們嘗試執(zhí)行一個除法運算,但除數(shù)為0。當(dāng)我們運行這個腳本時,我們會看到以下輸出:
An error occurred: Division by zero可以看到,我們使用了try-catch語句來捕獲Throwable異常,并處理該異常。 綜上所述,在PHP 7.2中,我們有許多新的工具和功能來幫助我們調(diào)試我們的PHP應(yīng)用程序。無論是通過錯誤報告、debug_backtrace()函數(shù)還是Throwable接口,我們都可以快速并準(zhǔn)確地識別和修復(fù)代碼中的問題。