fuelphp 錯誤
fuelphp 為處理錯誤和調試應用程序提供了極好的支持。本章讓我們了解錯誤處理和調試。
error handling
fuelphp 錯誤處理基于異常。 fuelphp 為所有舊的 php 錯誤提供 phperrorexception 異常。每當遇到 php 代碼中的錯誤時,fuelphp 都會引發 phperrorexception。 fuelphp 還可以輕松顯示各種 http 狀態代碼的自定義錯誤頁面。
file not found error
fuelphp 提供了一個新的異常類 httpnotfoundexception 來處理未知請求。有時,我們可能會遇到可能無法處理的請求。那個時候,我們可以直接拋出httpnotfoundexception。
默認情況下,在路由配置文件fuel/app/config/routes.php中為httpnotfoundexception配置了一個默認頁面,使用400個入口。每當引發 httpnotfoundexception 時,請求將被重定向到 400 頁。
'_404_' => 'welcome/404', // the main 404 route
internal errors
fuelphp 提供了一個新的異常類 httpservererrorexception 來處理所有服務器錯誤。有時,由于內部錯誤,我們可能無法處理給定的請求。那個時候,我們可以直接拋出httpservererrorexception。
默認情況下,在路由配置文件 fuel/app/config/routes.php 中使用 500 條目為 httpservererrorexception 配置了一個默認頁面。每當引發 httpservererrorexception 時,請求將被重定向到 500 頁。
'_500_' => 'welcome/500', // the main 500 route
此頁面將記錄錯誤,在頁面中顯示將格式化的錯誤并偶爾向系統管理員發送通知。
access violation errors
fuelphp 提供了一個新的異常類 httpnoaccessexception 來處理訪問沖突。有時,由于訪問限制,我們可能無法處理請求。那個時候,我們可以直接拋出httpnoaccessexception。
默認情況下,在路由配置文件 fuel/app/config/routes.php 中使用 403 條目為 httpnoaccessexception 配置了默認頁面。每當引發 httpnoaccessexception 時,請求將被重定向到 403 頁面。
'_403_' => 'welcome/403', // the main 403 route
此頁面將顯示訪問違規信息。
debugging
調試是開發應用程序最常見的活動之一。 fuelphp 提供了一個簡單的類 debug 來處理應用程序的調試活動。讓我們在本章中學習 debug 類及其方法。
debug class
debug 類提供實用方法來顯示變量、對象、數組等的詳細信息。debug 類提供以下方法,
dump
dump 方法以格式化的結構化方式向瀏覽器返回多個混合值。
debug::dump($var1, $var2);
backtrace()
backtrace 顯示當前代碼執行的詳細信息。它顯示了 php 文件信息、當前行以及它之前的所有操作。
debug::backtrace();
classes()
返回所有類的列表。
debug::classes();
interfaces()
返回所有接口類的列表。
debug::interfaces();
includes()
返回當前在運行時加載的所有包含文件的列表。
debug::includes();
functions()
返回所有函數的列表。
debug::functions();
constants()
返回所有常量的列表。
debug::constants();
extensions()
返回所有擴展的列表。
debug::extensions();
headers()
返回所有 http 標頭的列表。
debug::headers();
phpini()
打印從 php.ini 文件讀取的配置設置列表。
debug::phpini();