Zend 框架 - 错误处理


为了保证系统的顺利运行,需要对系统故障进行有效的处理。Zend Framework 附带一个默认的错误捕获,可以在发生错误时打印并记录错误。同样的错误处理程序用于捕获异常

错误处理程序在调试为 true 时显示错误,并在调试为 false 时记录错误。Zend Framework 有几个异常类,内置的异常处理将捕获任何未捕获的异常并呈现有用的页面。

默认错误处理

我们可以在应用程序配置文件 myapp/module/Application/config/module.config.php 中配置默认​​错误设置。

部分代码示例如下 -

'view_manager' => [ 
   'display_not_found_reason' => true, 
   'display_exceptions'       => true, 
   'doctype'                  => 'HTML5', 
   'not_found_template'       => 'error/404', 
   'exception_template'       => 'error/index', 
   'template_map' => [ 
      'layout/layout'           => __DIR__ . '/../view/layout/layout.phtml', 
      'application/index/index' => __DIR__ . '/../view/application/index/index.phtml', 
      'error/404'               => __DIR__ . '/../view/error/404.phtml', 
      'error/index'             => __DIR__ . '/../view/error/index.phtml', 
   ], 
   'template_path_stack' => [ 
      __DIR__ . '/../view', 
   ], 
], 

这里的display_exception、not_found_template、exception_template、error/404和error/index是与错误相关的配置项,并且是不言自明的。

其中最重要的一项是error/index。这是系统出现异常时显示的模板。我们可以修改此模板 myapp/module/Application/view/error/index.phtml 来控制要显示的错误量。