IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Autres composants PHP Discussion :

ErrorController ne semble pas être pris en charge [ZF 1.9]


Sujet :

Autres composants PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2009
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2009
    Messages : 99
    Par défaut ErrorController ne semble pas être pris en charge
    Bonjour tout le monde,

    Voici mon soucis. Je lis un livre ainsi qu'un tuto qui me parle de l'ErrorController. On me dit que si ce dernier existe, lorsque Zend rencontre une erreur, il sera automatiquement appelé.

    Cependant, j'ai bien l'impression que j'ai loupé un détail, car il ne semble pas être pris en compte.

    J'ai donc bel et bien un ErrorController comme suit:
    ./application/controllers/ErrorController.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    <?php
    class ErrorController extends Zend_Controller_Action
    {
    	public function errorAction ()
    	{
    		$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()->setHttpResponseCode(404);
    				$this->view->message = 'Page not found';
    				break;
    			default:
    				// application error
    				$this->getResponse()->setHttpResponseCode(500);
    				$this->view->message = 'Application error';
    				break;
    		}
    		$this->view->exception = $errors->exception;
    		$this->view->request = $errors->request;
    	}
    }
    ?>
    J'ai également une vue ./application/views/scripts/error/error.phtml

    Et ceci dans mon index.php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $frontController->throwExceptions(true);
    Ainsi que:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    try {
    	$frontController->dispatch();
    } catch (Exception $exception) {
    	echo "ICI, le test - ";
    	exit($exception->getMessage());
    }
    J'ai rajouté le echo, pour mon test. Voici le résultat rendu:
    ICI, le test - Invalid controller specified (missing)

    Quelqu'un pour m'éclairer sur le(s) point(s) qui ne va pas ?

  2. #2
    Membre confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2009
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2009
    Messages : 99
    Par défaut
    Tiens, j'ai par hasard tenté de modifier ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $frontController->throwExceptions(true);
    En ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $frontController->throwExceptions(false);
    Cela semble fonctionner (mon print_r() au sein de l'ErrorController s'effectue et ma vue est rendue) !

    Et j'ai peut-être mal lu, dans le tuto, donc. A dire vrai, j'ai suivi un autre tuto qui m'a fait intégrer le throwExeceptions à true, surement parce qu'il était basique et ne gérait pas les erreurs.

    Ensuite, à la lecture de la gestion d'erreurs, j'avais mal compris que c'était le cas à false qui était par défaut, ...

    Cela semble résolu, donc !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Le manifest du war ne semble pas être pris en compte
    Par jpclavery dans le forum Wildfly/JBoss
    Réponses: 3
    Dernier message: 14/06/2008, 22h22
  2. Réponses: 6
    Dernier message: 22/10/2006, 22h55
  3. [SQL] La valeur d'une variable ne semble pas être prise en compte
    Par oroumgolok dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 03/09/2006, 23h31
  4. [MySQL] ORDER BY qui ne semble pas pris en compte
    Par yongblood dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 09/03/2006, 12h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo