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