Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 26-06-2007 22:31:11

Cyrano
Membre
Lieu: Paris
Date d'inscription: 25-05-2007
Messages: 57
Site web

[Résolu][général][1.0 RC3]Interpréter un message d'erreur

Bonjour tout le monde,
je commence à explorer le Framework Zend et j'ai fait pas à pas le tutoriel de Rob Allen dans sa traduction française sur developpez.com
Les pages index, ajouter et modifier sont parfaitement fonctionnelles. Mais pour la suppression, j'ai droit à une superbe page qui fait état d'une exception :

Fatal error: Uncaught exception 'Zend_View_Exception' with message 'helper 'getParam' not found in path' in C:\www\zf-tutorial\library\Zend\View\Abstract.php:1003
Stack trace:
#0 C:\www\zf-tutorial\library\Zend\View\Abstract.php(496): Zend_View_Abstract->_loadClass('helper', 'getParam')
#1 C:\www\zf-tutorial\library\Zend\View\Abstract.php(298): Zend_View_Abstract->getHelper('getParam')
#2 [internal function]: Zend_View_Abstract->__call('getParam', Array)
#3 C:\www\zf-tutorial\application\controllers\IndexController.php(142): Zend_View->getParam('id')
#4 C:\www\zf-tutorial\library\Zend\Controller\Action.php(497): IndexController->supprimerAction()
#5 C:\www\zf-tutorial\library\Zend\Controller\Dispatcher\Standard.php(237): Zend_Controller_Action->dispatch('supprimerAction')
#6 C:\www\zf-tutorial\library\Zend\Controller\Front.php(909): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))
#7 C:\www\zf-tutorial\index.php(30): Zend_Controller_Front->dispatch( in C:\www\zf-tutorial\library\Zend\View\Abstract.php on line 1003

J'ai essayé de décortiquer tout ça mais sans grand succès : corrigez-moi si je me trompe, mais on dirait qu'une tentative de chargement de Zend_View_Helper_GetParam échoue : normal, elle n'existe pas. (Ma version du Z-F, 1.0 RC3)

Alors je me suis probablement trompé dans l'interprétation, mais finalement, je cherche à savoir comment "lire" ce genre de messages pour pointer correctement sur l'erreur qui est très probablement dans mon code. J'ai bien trouvé la ligne indiquée, mais ça ne m'avance pas des masses, c'est la ligne où est levée l'exception... hmm

Merci d'avance pour toute piste m'indiquant la direction à suivre smile

Dernière modification par Cyrano (30-06-2007 23:21:30)


Tu me dis, j'oublie. Tu m'enseignes, je me souviens. Tu m'impliques, j'apprends.
B. Franklin.

Hors ligne

 

#2 27-06-2007 01:39:41

fred wolf
Administrateur
Lieu: Bordeaux
Date d'inscription: 09-04-2007
Messages: 96

Re: [Résolu][général][1.0 RC3]Interpréter un message d'erreur

Bonjour,

En fait l'erreur fait référence au Helper car tu essaies sûrement de faire appel à une méthode de Zend_View qui n'existe pas. Dans ce cas, ZF considère que tu veux utiliser un helper et t'envoie dans la méthode suivante :

Code:

    public function __call($name, $args)
    {
        // is the helper already loaded?
        $helper = $this->getHelper($name);

        // call the helper method
        return call_user_func_array(
            array($helper, $name),
            $args
        );
    }

Dans la Stack trace je vois :

#3 C:\www\zf-tutorial\application\controllers\IndexController.php(142): Zend_View->getParam('id')

Or, il me semble que la classe Zend_View n'a pas de méthode getParam. Par contre le request object référencé dans le controller a cette méthode que tu peux utiliser ainsi  dans ton action IndexController->supprimerAction() :

$this->_request->getParam('id')

En espérant que j'ai été clair,

bien le bon soir,

fred

Dernière modification par fred wolf (27-06-2007 01:40:17)

Hors ligne

 

#3 27-06-2007 06:29:27

Cyrano
Membre
Lieu: Paris
Date d'inscription: 25-05-2007
Messages: 57
Site web

Re: [Résolu][général][1.0 RC3]Interpréter un message d'erreur

Merci beaucoup, je n'espérais pas une réponse aussi rapide.

Et ça fonctionne, enfin presque. L'exception a disparu et ma vue s'affiche correctement, pas avec les message attendu, mais j'avance et trouver le reste ne devrait pas poser de problème particulier.

Encore merci smile

Note : à cette heure-ci je n'ai pas le temps, mais je vais revenir rapidement pour signaler une autre petite erreur de ce tuto.


Tu me dis, j'oublie. Tu m'enseignes, je me souviens. Tu m'impliques, j'apprends.
B. Franklin.

Hors ligne

 

#4 30-06-2007 20:18:17

Cyrano
Membre
Lieu: Paris
Date d'inscription: 25-05-2007
Messages: 57
Site web

Re: [Résolu][général][1.0 RC3]Interpréter un message d'erreur

Hello,
j'avais annoncé que reviendrais signaler une petite boulette : En fait, elle est assez mineure et devrait pouvoir être corrigée dans le fichier .htaccess de la racine.

Le problème :
Si vous  avez une url du genre "http://localhost/zf-tutorial/", aucun problème, mais si vous avez l'idée de rajouter un nom de fichier avec une url comme ceci : "http://localhost/zf-tutorial/index.php", les liens vers les scripts, les feuilles de style et les images deviennent automatiquement fausses.

Une solution :
Il y a peut-être mieux à faire, mais pour ne pas m'attarder trop longtemps sur la question, j'ai résolu ça dans le controleur dans la méthode init() avec ceci :

Code:

$masque = "#(.*)index\.php$#i";
$base_url = preg_replace($masque, "$1", $this->_request->getBaseUrl());
$this->view->baseUrl = $base_url;

Autre point :
Dans le second tuto sur l'utilisation de Zend_Auth, il y a une coquille dans le code indiqué. En effet, la modification de l'index comporte ceci :

Code:

//...
$config->db->config->asArray());

Alors que ce devrait être ceci :

Code:

//...
$config->db->config->toArray());

La méthode asArray() lève une exception wink


Voilà, bon dev à tous.
Cyrano


Tu me dis, j'oublie. Tu m'enseignes, je me souviens. Tu m'impliques, j'apprends.
B. Franklin.

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages