Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 02-06-2008 11:29:41

Bast
Membre
Date d'inscription: 07-06-2007
Messages: 138

[résolu][1.5.1] Appel d'une route : où sont stockés les paramètres ?

Bonjour à tous !!

Je cherche à récupérer une variable $_GET via la fonction getQuery(). Après plusieurs essais, j'ai fini par me rendre compte que le souci venait de cette fonction, qui me renvoie toujours NULL !
Si j'utilise getParam(), mes paramètres get passent bien, j'arrive à les afficher. Mais en passant par getQuery, impossible.
J'ai cherché à voir si les variables étaient tout de même bien présentes dans $_GET, et là, ô surprise, mon tableau $_GET reste désespérément vide !!

Mais alors, où sont donc passés ces paramètres ?! Ils sont absents de $_GET et de $_POST, mais getParam() sait les récupérer...
J'ai regardé le code source de Zend_Controller_Request_Http, et à priori, seuls GET et POST sotn consultés....

J'avoue que je sèche !
Quelqu'un aurait-il déjà eu ce souci ?
Pensez-vous que le problème puisse venir d'autre chose que ZF ?


PS : j'utilise une route pour cette page !

Code:

$router
    ->addRoute(
        'recherche',
        new Zend_Controller_Router_Route(
            'recherche2/*',
            array(
                'controller'    => 'recherche2',
                'action'        => 'index',
            )
        )
    );

Dernière modification par Bast (09-06-2008 09:54:47)

Hors ligne

 

#2 02-06-2008 17:12:19

Bast
Membre
Date d'inscription: 07-06-2007
Messages: 138

Re: [résolu][1.5.1] Appel d'une route : où sont stockés les paramètres ?

Ok j'affine ma question.

Si j'appelle ma route ainsi :

Code:

$this->url(array('param' => 'valeur'), 'recherche')

Le paramètre 'param' se retrouvera où ? Je pensais dans $_GET, mais on dirait bien que non...

Hors ligne

 

#3 09-06-2008 01:09:53

cortex
Membre
Date d'inscription: 22-05-2008
Messages: 33

Re: [résolu][1.5.1] Appel d'une route : où sont stockés les paramètres ?

Le tableau $_GET ne sera rempli que par les variables issues de la querystring donc après le ?. Si ton url est de la forme action/param/param/param, point de ? donc point de $_GET. C'est la Zend Request (ou une autre classe, j'ai pas vérifié) qui va parser l'url en fonction de ta route et valuer le tableau addressable par getParam().

Pour les variables $_POST, pas de changement avec ou sans url rewriting.

Hors ligne

 

#4 09-06-2008 08:08:36

lethak
Membre
Lieu: France
Date d'inscription: 05-04-2008
Messages: 168

Re: [résolu][1.5.1] Appel d'une route : où sont stockés les paramètres ?

dans le controller:



$this->_getParam('nom','valeur par defaut si vide');
$this->_getAllParams(); // retourne un array


IT Dev @Twitter

Hors ligne

 

#5 09-06-2008 09:54:26

Bast
Membre
Date d'inscription: 07-06-2007
Messages: 138

Re: [résolu][1.5.1] Appel d'une route : où sont stockés les paramètres ?

Muarf... ok merci. C'est déjà ce que je faisais, mais je souhaitais affiner (pour empêcher que des données post ne s'insinuent).
Et donc si j'ai bien compris, on a un troisième type de paramètres, existant uniquement au sein de ZF.

Merci de vos réponses !

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