Class yii\web\ErrorHandler

继承yii\web\ErrorHandler » yii\base\ErrorHandler » yii\base\Component » yii\base\BaseObject
实现yii\base\Configurable
可用自版本2.0
源代码 https://github.com/yiisoft/yii2/blob/master/framework/web/ErrorHandler.php

ErrorHandler 处理未捕获的 PHP 错误和异常.

ErrorHandler 根据错误的性质和应用程序运行的模式, 使用适当的视图显示这些错误.

默认情况下, ErrorHandler 在 yii\base\Application 中被配置为应用程序组件. 你可以通过Yii::$app->errorHandler来访问该实例.

有关 ErrorHandler 的更多详细信息和使用信息, 请参阅 权威指南 - 请求处理 - 错误处理(Handling Errors).

公共属性

隐藏继承的属性

属性类型描述定义在
$behaviors yii\base\Behavior[] 附加到此组件的行为列表. 该属性是只读的. yii\base\Component
$callStackItemView string 渲染异常和错误的视图文件的路径调用堆栈元素. yii\web\ErrorHandler
$discardExistingOutput boolean 在显示错误之前是否丢弃新任何现有页面输出. yii\base\ErrorHandler
$displayVars array 错误页面上应显示的 PHP 预定义变量列表. yii\web\ErrorHandler
$errorAction string 将用于显示外部错误的控制器动作的路由(eg. yii\web\ErrorHandler
$errorView string 视图文件的路径, 用于渲染没有调用堆栈信息的异常. yii\web\ErrorHandler
$exception Exception|null 当前正在处理的异常. yii\base\ErrorHandler
$exceptionView string 用于渲染异常的视图文件的路径. yii\web\ErrorHandler
$maxSourceLines integer 要显示的最大源代码行数. yii\web\ErrorHandler
$maxTraceSourceLines integer 要显示的跟踪源代码行的最大数量. yii\web\ErrorHandler
$memoryReserveSize integer 保留内存的大小. yii\base\ErrorHandler
$previousExceptionView string 用于渲染先前异常的视图文件的路径. yii\web\ErrorHandler
$silentExitOnException boolean 如果为true, handleException()将使用ExitCode::OK完成脚本, 如果为false, 将使用ExitCode::UNSPECIFIED_ERROR. yii\base\ErrorHandler
$traceLine string 用占位符替换的跟踪线. yii\web\ErrorHandler

公共方法

隐藏继承的方法

方法描述定义在
__call() 调用不是类方法的指定的方法. yii\base\Component
__clone() 在通过克隆现有对象创建对象之后调用此方法. yii\base\Component
__construct() 构造函数. yii\base\BaseObject
__get() 返回组件属性的值. yii\base\Component
__isset() 检查属性是否已设置, 即已定义且不为null. yii\base\Component
__set() 设置组件属性的值. yii\base\Component
__unset() 将组件属性设置为null. yii\base\Component
addTypeLinks() 将信息链接添加到给的的 PHP 类型/类. yii\web\ErrorHandler
argumentsToString() 将参数数组转换为其字符串表示形式. yii\web\ErrorHandler
attachBehavior() 将行为附加到此组件. yii\base\Component
attachBehaviors() 将行为列表附加到组件. yii\base\Component
behaviors() 返回此组件应该具有的行为列表. yii\base\Component
canGetProperty() 返回一个值, 指示属性是否可读取. yii\base\Component
canSetProperty() 返回一个值, 指示属性是否可设置. yii\base\Component
className() 返回此类的完全限定名称. yii\base\BaseObject
clearOutput() 删除在调用此方法之前回显的所有输出. yii\base\ErrorHandler
convertExceptionToError() 将异常转换为 PHP 错误. yii\base\ErrorHandler
convertExceptionToString() 将异常转换为简单的字符串. yii\base\ErrorHandler
convertExceptionToVerboseString() 将异常转换为包含有关异常及其跟踪的详细信息的字符串. yii\base\ErrorHandler
createFrameworkVersionLink() 创建包含 HTML 链接的字符串, 该链接引用具有当前版本的框架和版本号文本的页面. yii\web\ErrorHandler
createHttpStatusLink() 创建 HTML, 该 HTML 包含指向页面的链接, 其中包含有关给定 HTTP 状态代码的信息. yii\web\ErrorHandler
createServerInformationLink() 创建包含 HTML 链接的字符串, 该链接指向确定的 Web 服务器软件的主页及其全名. yii\web\ErrorHandler
detachBehavior() 从组件中分离一个行为. yii\base\Component
detachBehaviors() 分离组件中的所有行为. yii\base\Component
ensureBehaviors() 确保在 behaviors() 中声明的行为已附加到此组件. yii\base\Component
getBehavior() 返回指定的行为对象. yii\base\Component
getBehaviors() 返回附加到此组件的所有行为. yii\base\Component
getExceptionName() 返回可读的异常名称. yii\web\ErrorHandler
handleError() 处理 PHP 执行错误, 如警告和通知. yii\base\ErrorHandler
handleException() 处理未捕获的 PHP 异常. yii\base\ErrorHandler
handleFatalError() 处理致命的 PHP 错误. yii\base\ErrorHandler
handleHhvmError() 处理 HHVM 执行错误, 如警告和通知. yii\base\ErrorHandler
hasEventHandlers() 返回一个值, 指示是否有任何处理程序附加到指定的事件. yii\base\Component
hasMethod() 返回一个值, 指示方法是否已定义. yii\base\Component
hasProperty() 返回一个值, 指示属性是否已定义. yii\base\Component
htmlEncode() 将特殊字符转换为 HTML 实体. yii\web\ErrorHandler
init() yii\base\ErrorHandler
isCoreFile() 确定文件的给定名称是否属于框架. yii\web\ErrorHandler
logException() 记录给定的异常. yii\base\ErrorHandler
off() 从该组件分离现有的事件处理程序. yii\base\Component
on() 将事件处理程序附加到事件. yii\base\Component
register() 注册该错误处理程序. yii\base\ErrorHandler
renderCallStack() 渲染调用堆栈. yii\web\ErrorHandler
renderCallStackItem() 渲染单个调用堆栈元素. yii\web\ErrorHandler
renderFile() 将视图文件渲染为 PHP 脚本. yii\web\ErrorHandler
renderPreviousExceptions() 渲染给定的异常的前一个异常堆栈. yii\web\ErrorHandler
renderRequest() 渲染请求的全局变量. yii\web\ErrorHandler
trigger() 触发事件. yii\base\Component
unregister() 通过恢复 PHP 错误和异常处理程序来注销此错误处理程序. yii\base\ErrorHandler

受保护的方法

隐藏继承的方法

方法描述定义在
convertExceptionToArray() 将异常转换为数组. yii\web\ErrorHandler
getTypeUrl() 返回给定 PHP 类型/类的信息链接 URL. yii\web\ErrorHandler
handleFallbackExceptionMessage() 处理在 handleException() 中进行异常处理期间抛出的异常. yii\base\ErrorHandler
renderException() 渲染异常. yii\web\ErrorHandler
shouldRenderSimpleHtml() yii\web\ErrorHandler

属性详情

$callStackItemView public 属性

渲染异常和错误的视图文件的路径调用堆栈元素.

public string $callStackItemView '@yii/views/errorHandler/callStackItem.php'
$displayVars public 属性 (可用自版本: 2.0.7)

错误页面上应显示的 PHP 预定义变量列表. 默认为['_GET', '_POST', '_FILES', '_COOKIE', '_SESSION'].

Note: 必须通过$GLOBALS访问变量. 否则它将不会显示.

参见 renderRequest().

public array $displayVars = ['_GET''_POST''_FILES''_COOKIE''_SESSION']
$errorAction public 属性

将用于显示外部错误的控制器动作的路由(eg. site/error).

在动作内部, 它可以使用Yii::$app->errorHandler->exception来检索错误信息.

该属性默认为null, 这意味着 ErrorHandler 将处理错误显示.

public string $errorAction null
$errorView public 属性

视图文件的路径, 用于渲染没有调用堆栈信息的异常.

public string $errorView '@yii/views/errorHandler/error.php'
$exceptionView public 属性

用于渲染异常的视图文件的路径.

public string $exceptionView '@yii/views/errorHandler/exception.php'
$maxSourceLines public 属性

要显示的最大源代码行数. 默认为19.

$maxTraceSourceLines public 属性

要显示的跟踪源代码行的最大数量. 默认为13.

$previousExceptionView public 属性

用于渲染先前异常的视图文件的路径.

public string $previousExceptionView '@yii/views/errorHandler/previousException.php'
$traceLine public 属性 (可用自版本: 2.0.14)

用占位符替换的跟踪线. 占位符是{file}, {line}{text}, 字符串应如下所示:

File: {file} - Line: {line} - Text: {text}

参见 https://github.com/yiisoft/yii2-debug#open-files-in-ide.

public string $traceLine '{html}'

方法详情

addTypeLinks() public 方法

将信息链接添加到给的的 PHP 类型/类.

public string addTypeLinks ( $code )
$code string

要链接的类型/类名称.

return string

用 HTML 类型/类名称链接.

argumentsToString() public 方法

将参数数组转换为其字符串表示形式.

public string argumentsToString ( $args )
$args array

要进行转换的参数数组.

return string

参数数组的字符串表示形式.

convertExceptionToArray() protected 方法

将异常转换为数组.

protected array convertExceptionToArray ( $exception )
$exception Exception|\Error

正在转换的异常.

return array

异常的数组表示形式.

createFrameworkVersionLink() public 方法

创建包含 HTML 链接的字符串, 该链接引用具有当前版本的框架和版本号文本的页面.

public string createFrameworkVersionLink ( )
return string

框架版本信息的超链接.

createHttpStatusLink() public 方法

创建 HTML, 该 HTML 包含指向页面的链接, 其中包含有关给定 HTTP 状态代码的信息.

public string createHttpStatusLink ( $statusCode, $statusDescription )
$statusCode integer

用于生成信息链接.

$statusDescription string

在状态码之后显示的说明.

return string

生成的 HTML 与 HTTP 状态码信息.

createServerInformationLink() public 方法

创建包含 HTML 链接的字符串, 该链接指向确定的 Web 服务器软件的主页及其全名.

public string createServerInformationLink ( )
return string

服务器软件信息的超链接.

getExceptionName() public 方法

返回可读的异常名称.

public string|null getExceptionName ( $exception )
$exception Exception
return string|null

可读的异常名称, 如果无法确定, 则为null.

getTypeUrl() protected 方法

返回给定 PHP 类型/类的信息链接 URL.

参见 addTypeLinks().

protected string|null getTypeUrl ( $class, $method )
$class string

类型或类名称.

$method string|null

方法名称.

return string|null

信息链接的 URL.

htmlEncode() public 方法

将特殊字符转换为 HTML 实体.

public string htmlEncode ( $text )
$text string

编码.

return string

编码的原始文本.

isCoreFile() public 方法

确定文件的给定名称是否属于框架.

public boolean isCoreFile ( $file )
$file string

要检查的名称.

return boolean

文件的给定名称是否属于框架.

renderCallStack() public 方法 (可用自版本: 2.0.12)

渲染调用堆栈.

public string renderCallStack ( $exception )
$exception Exception|\ParseError

从调用堆栈获取异常.

return string

渲染的调用堆栈的 HTML 内容.

renderCallStackItem() public 方法

渲染单个调用堆栈元素.

public string renderCallStackItem ( $file, $line, $class, $method, $args, $index )
$file string|null

触发调用的地方.

$line integer|null

触发调用的行号.

$class string|null

调用的类名称.

$method string|null

调用的函数/方法名称.

$args array

方法参数的数组.

$index integer

调用堆栈元素的编号.

return string

渲染的调用堆栈元素的 HTML 内容.

renderException() protected 方法

渲染异常.

protected void renderException ( $exception )
$exception Exception|\Error

要渲染的异常.

renderFile() public 方法

将视图文件渲染为 PHP 脚本.

public string renderFile ( $_file_, $_params_ )
$_file_ string

视图文件.

$_params_ array

将在视图文件中提取并使其可用的参数(name-value 对).

return string

渲染结果.

renderPreviousExceptions() public 方法

渲染给定的异常的前一个异常堆栈.

public string renderPreviousExceptions ( $exception )
$exception Exception

应提供其先驱的异常.

return string

渲染的先前异常的 HTML 内容. 如果没有则返回空字符串.

renderRequest() public 方法

渲染请求的全局变量.

全局变量列表在 $displayVars 中定义.

参见 $displayVars.

public string renderRequest ( )
return string

渲染结果.

shouldRenderSimpleHtml() protected 方法 (可用自版本: 2.0.12)

protected boolean shouldRenderSimpleHtml ( )
return boolean

如果应该渲染简单的 HTML.