FuelPHP - 錯誤處理與除錯



FuelPHP 提供了強大的錯誤處理和應用程式除錯支援。在本節中,我們將瞭解錯誤處理和除錯。

錯誤處理

FuelPHP 的錯誤處理基於異常。FuelPHP 為所有舊的 PHP 錯誤提供了 PhpErrorException 異常。每當遇到 PHP 程式碼中的錯誤時,FuelPHP 都會引發 PhpErrorException。FuelPHP 還簡化了為各種 HTTP 狀態程式碼顯示自定義錯誤頁面的操作。

檔案未找到錯誤

FuelPHP 提供了一個新的異常類 HttpNotFoundException 來處理未知請求。有時,我們可能會遇到無法處理的請求。此時,我們可以丟擲 HttpNotFoundException。

預設情況下,在路由配置檔案 fuel/app/config/routes.php 中使用 400 條目為 HttpNotFoundException 配置了預設頁面。每當引發 HttpNotFoundException 時,請求將重定向到 400 頁面。

'_404_'   => 'welcome/404',    // The main 404 route 

內部錯誤

FuelPHP 提供了一個新的異常類 HttpServerErrorException 來處理所有伺服器錯誤。有時,由於內部錯誤,我們可能無法處理給定的請求。此時,我們可以丟擲 HttpServerErrorException。

預設情況下,在路由配置檔案 fuel/app/config/routes.php 中使用 500 條目為 HttpServerErrorException 配置了預設頁面。每當引發 HttpServerErrorException 時,請求將重定向到 500 頁面。

'_500_'   => 'welcome/500',    // The main 500 route

此頁面將記錄錯誤,在頁面中顯示格式化的錯誤,並偶爾向系統管理員傳送通知。

訪問許可權違規錯誤

FuelPHP 提供了一個新的異常類 HttpNoAccessException 來處理訪問許可權違規。有時,由於訪問限制,我們可能無法處理請求。此時,我們可以丟擲 HttpNoAccessException。

預設情況下,在路由配置檔案 fuel/app/config/routes.php 中使用 403 條目為 HttpNoAccessException 配置了預設頁面。每當引發 HttpNoAccessException 時,請求將重定向到 403 頁面。

'_403_'   => 'welcome/403',     // The main 403 route 

此頁面將顯示訪問許可權違規資訊。

除錯

除錯是開發應用程式中最常見的活動之一。FuelPHP 提供了一個簡單的類 Debug 來處理應用程式的除錯活動。在本節中,我們將學習 Debug 類及其方法。

Debug 類

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(); 
廣告

© . All rights reserved.