2010-09-28 7 views
22

J'essaie d'utiliser Zend_Controller_Plugin_ErrorHandler pour gérer mes erreurs 404. Selon le doc, le plugin a des constantes que l'on peut utiliser pour faire correspondre les types d'exceptions et les gérer en conséquence. par exemple.Comment lancer 404 exceptions dans 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 

Est-ce que quelqu'un sait comment créer des exceptions de ces types spécifiquement?

Répondre

68

Vous pouvez faire comme ceci:

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

ou

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

Pour Zend 2 [regardez ici] (http: // stackoverflow.com/questions/15968331/zend-2-how-to-throw-a-404-error-from-controller) – Victor

3

Vous pouvez le faire comme ceci:

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

Je crois que la méthode correcte est setHttpResponseCode pas setStatusCode –

Questions connexes