欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【Zend Framework 入门——错误处理】,下面是详细的分享!
Zend Framework 入门——错误处理
使用 Zend Framework 的 MVC 结构,如果不做特殊的处理,所有的异常都会被前端控制器捕获,并累积起来。
Zend Framework 提供了若干种方法来处理异常。这里介绍最简单的一种。
在第一部分《快速上手》中,我们已经有了一个很简单的错误处理机制,即通过 applicatoin/controllers/ErrorController.php 以及其中定义的 errorAction 方法来处理异常。不过,只是给出了一个很简陋的报错信息。现在,我们把它再完善一下,达到两个基本要求:
- 用户请求了不存在的控制器或动作(404 错误),在用户的浏览器中给出报错信息;
- 其他的系统错误,则在日志文件中记录下来。
1. 创建日志
创建一个与 application 平行的文件夹,命名为 logs。
编辑 html/index.php 文件,加入下面的代码:
| require_once 'Zend/Log.php'; require_once 'Zend/Log/Writer/Stream.php'; $log=new Zend_Log(new Zend_Log_Writer_Stream($rootPath . '/logs/errors.log', 'a+')); Zend_Registry::set('error_log', $log); |
注意:Web 服务器应具有对 logs 文件夹的读写权限。
2. 完善错误处理代码
编辑 application/controllers/ErrorController.php 文件,新的 errrorAction 方法为:
|
public function errorAction() |
在 languages/zh_cn.php 中加入错误信息的中文条目(如果你不需要支持多国语言,那么可以忽略这些):
| 'error_page_not_found'=> "<h1>404 错误:页面不存在!</h1>" . PHP_EOL . '<p>对不起,您所要求的页面不存在。</p>', 'error_unexpected'=> '<h1>错误!</h1>' . PHP_EOL . '<p>对不起,系统无法响应您的请求。请稍后再试。</p>', |
最后,略微修改一下 application/views/error/error.phtml 文件:
其中的错误显示代码为:
| <?php echo $this->translate($this->content); ?> |
注意:如果你需要记录所有的异常和错误,包括各种警告,可以参考这里。
相关文章
Zend Framework 入门——快速上手
Zend Framework 入门——多国语言支持
Zend Framework 入门——错误处理
Zend Framework 入门——页面布局
以上所分享的是关于Zend Framework 入门——错误处理,下面是编辑为你推荐的有价值的用户互动:
相关问题:Zend Framework 报错,求大神看看怎么解决
答:下载文件:怎么解决.zip >>详细
相关问题:第一次使用Zend Framework,出现以下的错误页面如何...
答:不是有错误提示么 你的Application.php 文件找不到.. 估计你放 zend 的library的路径不对 >>详细
相关问题:新手入门,php问题
答:没有SSH这样的框架。但是有高度整合的框架。而且各个部分有各自的框架。 全整合的有: ZendFramework,codeigniter,thinkPHP,CakePHP等 表现层的框架有: Smarty等等 这里推荐ThinkPHP和Smarty >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
