确保index.php中有如下内容:
$plugin = new Zend_Controller_Plugin_ErrorHandler();
$plugin->setErrorHandlerModule('frontController')
->setErrorHandlerController('Error')
->setErrorHandlerAction('error');
$frontController = Zend_Controller_Front::getInstance();//取得Zend_Controller_Front类实例
$frontController->registerPlugin($plugin);
$frontController->setControllerDirectory (array(
"default" => 'application/controllers',
)); // 指定一组控制器文件路径,参数是数组。设置前端控制器,主要是让控制器知道我们的的控制器类在哪里
$frontController->throwExceptions(false);//让前端控制器抛出所有的异常。 默认情况下,前端控制器将捕获这些异常并将其人传递到 ErrorController 控制器,在开发过程,这样错误容易发现。但在实际运行中,不能将这些错误直接显示给前端用户。
$frontController->setParam('noViewRenderer', true);// 指明不使用视图,false 是默认值。
$frontController->setParam('noErrorHandler', false);
$frontController->dispatch(); //程序执行分发
新建一个控制器ErrorController.php
require_once 'Zend/Controller/Action.php';
//默认错误控制器类
class ErrorController extends Zend_Controller_Action{
public function init()
{
$this->registry = Zend_Registry::getInstance();
$this->view = $this->registry['view'];
$this->view->baseUrl = $this->_request->getBaseUrl();
}
/**
* This action handles
* - Application errors
* - Errors in the controller chain arising from missing
* controller classes and/or action methods
*/
public function errorAction(){
//动作方法名:对应的文件是views/scripts/error/error.phtml
$errors = $this->_getParam('error_handler');
switch ($errors->type) {
case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_CONTROLLER:
case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_ACTION:
// 404 error -- controller or action not found
//$this->getResponse()->setRawHeader('HTTP/1.1 404 Not Found!!!');//当这行起作用时候,在ie6下会出现它自身默认的404显示。
$content= 'The page you request was not found! ';
break;
default:
// application error; display error page, but don't change
// status code
$content = 'Application Error';
break;
}
$this->getResponse()->clearbody();
$this->view->message = $content;
echo $this->view->render('error/error.phtml');//显示增加模版
}
}
新建错误视图application/views/scripts/error/error.phtml
<?php echo $this->message;?>Please <a href="<?php echo $this->baseUrl; ?>">GoBack</a>
分享到:
相关推荐
在 Zend Framework 2 中,多模块配置是构建大型和复杂应用程序的关键特性。它允许你将应用分解为独立的、可重用的模块,每个模块都有自己的控制器、模型、视图以及配置。下面我们将详细介绍如何在 Zend Framework 2 ...
在本教程中,我们将探讨如何使用Zend Framework中的`Zend_Form`组件来实现表单提交以及在提交过程中显示错误提示的方法。`Zend_Form`是Zend Framework中的一个强大工具,它允许开发者方便地创建、验证和处理表单数据...
这种做法与其他一些框架如Zend Framework保持一致,使得开发者在不同项目间更容易迁移和适应。 总的来说,FleaPHP的单一入口应用程序设计允许开发者通过一个中心点管理所有的请求,简化了代码组织,提高了代码复用...
一、ERA5数据下载,deepseek提问全图
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
该项目是一款基于Spring Boot和VUE框架构建的校园闲置物品在线交易平台源码,总计包含732个文件,涵盖了丰富的资源类型,包括226个GIF图片、148个JavaScript文件、87个Java文件、64个HTML文件、46个JPG图片、42个CSS文件、28个PNG图片、16个XML文件、14个LESS和SCSS样式表文件。该平台的设计与开发旨在为校园内的学生提供一个便捷的闲置物品交流与交易环境。
停车位状态检测系统源码和数据集:改进yolo11-DCNV2-Dynamic
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
树莓派人脸识别(dlib,opencv自带的算法)
法国Embouchure地区沉积物岩性数据集 内容 该数据集由O. Puertas在2014年发布,详细记录了法国Embouchure地区的EMBOU岩芯沉积物的岩性特征。数据集中包含了39个数据点,提供了关于该地区沉积环境的重要信息。欲了解更多信息,请访问"PANGAEA数据库中的原始数据" ()。
使用android studio实现科大讯飞的aikit语音唤醒功能, 纯净版最新版语音唤醒功能
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
华为整理题
【GO】基于go实现的生日提醒定时任务_pgj
沉积物岩心KS03的岩石学数据 内容 这份数据集由Nelle, O在2014年发布,详细记录了沉积物岩心KS03的岩石学特征。数据集包含了15个数据点,提供了对特定地质样本的深入分析。欲了解更多信息,请访问"此处" ()以查看完整的数据集。
内容: 德国海洋研究中心(GEOMAR)的Christian Hensen于2014年发布的关于沉积物核心GeoB9040-1的孔隙水地球化学数据。该数据集包含了147个数据点,提供了详细的孔隙水成分分析结果。通过访问以下链接可获取完整的数据集信息:"" ()。此研究对于理解特定海洋沉积环境中的生物地球化学过程具有重要意义。
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
【前端】基于rasa的机器人的前端项目