2010-09-28 21 views
22

Estoy tratando de usar Zend_Controller_Plugin_ErrorHandler para manejar mis errores 404 casos. De acuerdo con doc, el complemento tiene constantes que se pueden usar para hacer coincidir los tipos de excepciones y manejarlos en consecuencia. p.ej.Cómo lanzar 404 excepciones en Zend Framework

switch ($errors->type) { 
     case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_ROUTE: 
     case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_CONTROLLER: 
     case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_ACTION: 
      // 404 error -- controller or action not found 

¿Alguien sabe cómo crear excepciones de estos tipos específicamente?

Respuesta

68

Se puede hacer así:

$this->getResponse()->setHttpResponseCode(404); 

o

throw new Zend_Controller_Action_Exception('This page does not exist', 404); 
+0

Para Zend 2 [mira aquí] (http: // stackoverflow.com/questions/15968331/zend-2-how-to-throw-a-404-error-from-controller) – Victor

3

Puede hacerlo de esta manera:

$this->getResponse()->setStatusCode(404); 
return; 
+1

Creo que el método correcto es setHttpResponseCode not setStatusCode –