- FuelPHP 教程
- FuelPHP - 首頁
- FuelPHP - 簡介
- FuelPHP - 安裝
- FuelPHP - 架構概述
- FuelPHP - 簡單 Web 應用
- FuelPHP - 配置
- FuelPHP - 控制器
- FuelPHP - 路由
- FuelPHP - 請求與響應
- FuelPHP - 檢視
- FuelPHP - 展示器
- FuelPHP - 模型與資料庫
- FuelPHP - 表單程式設計
- FuelPHP - 驗證
- 高階表單程式設計
- FuelPHP - 檔案上傳
- FuelPHP - Ajax
- FuelPHP - HMVC 請求
- FuelPHP - 主題
- FuelPHP - 模組
- FuelPHP - 包
- Cookie 與 Session 管理
- FuelPHP - 事件
- FuelPHP - 郵件管理
- FuelPHP - 效能分析器
- 錯誤處理與除錯
- FuelPHP - 單元測試
- 完整工作示例
- FuelPHP 有用資源
- FuelPHP - 快速指南
- FuelPHP - 有用資源
- FuelPHP - 討論
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();