Error Handling & 调试 debug
FuelPHP为处理错误和调试应用程序提供了出色的支持。 让我们在本章中了解错误处理和调试。
错误处理
FuelPHP错误处理基于异常。 FuelPHP为所有旧的php错误提供PhpErrorException异常。 只要遇到PHP代码中的错误,FuelPHP就会引发PhpErrorException。 FuelPHP还可以轻松显示各种HTTP状态代码的自定义错误页面。
找不到文件错误
FuelPHP提供了一个新的异常类HttpNotFoundException来处理未知请求。 有时,我们可能会遇到可能无法处理的请求。 那时,我们可以抛出HttpNotFoundException。
默认情况下,使用400条目在路径配置文件fuel/app/config/routes.php中为HttpNotFoundException配置默认页面。 每当引发HttpNotFoundException时,请求将被重定向到400页。
'_404_' => 'welcome/404', // The main 404 route
内部错误
FuelPHP提供了一个新的异常类HttpServerErrorException来处理所有服务器错误。 有时,由于内部错误,我们可能无法处理给定的请求。 那时,我们可以抛出HttpServerErrorException。
默认情况下,使用500条目在routes配置文件fuel/app/config/routes.php中为HttpServerErrorException配置默认页面。 每当引发HttpServerErrorException时,请求将被重定向到500页。
'_500_' => 'welcome/500', // The main 500 route
此页面将记录错误,在页面中显示将格式化的错误,并偶尔向系统管理员发送通知。
访问冲突错误
FuelPHP提供了一个新的异常类HttpNoAccessException来处理访问冲突。 有时,由于访问限制,我们可能无法处理请求。 那时,我们可以抛出HttpNoAccessException。
默认情况下,使用403条目在路径配置文件fuel/app/config/routes.php中为HttpNoAccessException配置默认页面。 每当引发HttpNoAccessException时,请求将被重定向到403页面。
'_403_' => 'welcome/403', // The main 403 route
此页面将显示访问冲突信息。
调试(Debugging)
调试是开发应用程序的最常见活动之一。 FuelPHP提供了一个简单的类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();