Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 26-05-2009 09:06:26

nicko
Membre
Lieu: Chambéry
Date d'inscription: 25-05-2009
Messages: 190

Récupérer les valeurs de l'url

Bonjours,

Cette question vous paraitra une stupide, mais je n'arrive pas à trouver les éléments qui permettent  à ZF d'aller chercher tel ou tel contrôleur ou action.

en mode rewriting (qui est recommandé sur le site), les url sont de ce type :
http://exemple.fr/index/index

Je souhaiterais connaitre toute la structure de type :
http://exemple.fr/index.php?controller= … tion=index

J'ai cherché dans la doc du site de ZF mais ils expliquent uniquement le fonctionnent sur de l'url Rewirting.

Merci d'avance de vos réponses.

Hors ligne

 

#2 26-05-2009 09:56:11

acharrex
Membre
Lieu: Suisse
Date d'inscription: 27-04-2008
Messages: 135

Re: Récupérer les valeurs de l'url

Salut,

De mémoire, il y a ces trois méthodes :

Code:

Zend_Controller_Front::getInstance()->getRequest()->getModuleName(); 
Zend_Controller_Front::getInstance()->getRequest()->getControllerName(); 
Zend_Controller_Front::getInstance()->getRequest()->getActionName();

Ou plus simplement depuis un contrôleur :

Code:

$this->getRequest()->getModuleName(); 
$this->getRequest()->getControllerName(); 
$this->getRequest()->getActionName();

Dernière modification par acharrex (26-05-2009 09:57:33)

Hors ligne

 

#3 26-05-2009 10:19:28

nicko
Membre
Lieu: Chambéry
Date d'inscription: 25-05-2009
Messages: 190

Re: Récupérer les valeurs de l'url

Merci pour cette réponse. Et ça ma aidé un peu.

J'en ai donc profiter pour faire ceci :

Code:

print_r ( Zend_Controller_Front::getInstance()->getRequest() );

Qui m'a afficher cela :

Code:

Zend_Controller_Request_Http Object ( [_paramSources:protected] => Array ( [0] => _GET [1] => _POST ) [_requestUri:protected] => /index.php?controller=index&action=index&module=default [_baseUrl:protected] => /index.php [_basePath:protected] => [_pathInfo:protected] => [_params:protected] => Array ( [controller] => index [action] => index [module] => default ) [_aliases:protected] => Array ( ) [_dispatched:protected] => 1 [_module:protected] => default [_moduleKey:protected] => module [_controller:protected] => index [_controllerKey:protected] => controller [_action:protected] => index [_actionKey:protected] => action )

Et plus particulièrement la ligne de code qui m'intéresse :

Code:

 [_params:protected] => Array ( [controller] => index [action] => index [module] => default )

Je me suis donc dit que si je construit une url de type :

index.php?controller=index&action=index&module=login

ça va fonction ! Et bien ça ne change rien pourquoi et  ?

Je suis dans une config de type modulaire.

Hors ligne

 

#4 26-05-2009 11:04:32

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: Récupérer les valeurs de l'url

au démarrage ton frontController instancie un httprequest celui-ci analyse l'url
et dans ton cas il n'y a ni controller ni action ni module il mets donc les valeur par défaut dans _params

mais les paramètre query string eux n'y prennent pas place
par contre si tu fait un getParams tu vas les trouver
car la méthode fusion _params _GET et _POST

Code:

print_r ( Zend_Controller_Front::getInstance()->getRequest()->getParams() );

A+JYT

Hors ligne

 

#5 26-05-2009 11:40:25

nicko
Membre
Lieu: Chambéry
Date d'inscription: 25-05-2009
Messages: 190

Re: Récupérer les valeurs de l'url

Oui mais pourquoi je ne peux pas taper des url de type ?

index.php?module=login

J'essaye de développer un appli admin donc les URL améliorées ne sont donc pas intéressantes dans ce cas.

Hors ligne

 

#6 26-05-2009 14:19:36

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: Récupérer les valeurs de l'url

ça ne changera pas grand chose  d'avoir des url en ?= de toute façon tes noms de modules contrôleur et action y seront présent

si tu y tien il te faut le traiter dans l'action /default/index/index
tu récupère les paramètres et s'il y a module controller et action alors tu fais un forward vers l'action
mais attention pour zf ton action sera index index il faudra être vigilant sur le renderer

A+JYT

Hors ligne

 

#7 26-05-2009 15:43:49

nicko
Membre
Lieu: Chambéry
Date d'inscription: 25-05-2009
Messages: 190

Re: Récupérer les valeurs de l'url

OK !

Pour le moment je développe en utilisant les fonctionnalités de ZF mais je vais tout de même voir ta solution.

J'ai pas encore tout compris à ZF wink

merci !

Hors ligne

 

#8 26-05-2009 21:07:53

acharrex
Membre
Lieu: Suisse
Date d'inscription: 27-04-2008
Messages: 135

Re: Récupérer les valeurs de l'url

Juste par curiosité... pourquoi souhaites-tu utiliser des URL "standards" (ex. index.php?module=XX&controller=YY&action=ZZ) plutôt que des jolies URL réécrites ? (ex. /XX/YY/ZZ)

Hors ligne

 

#9 27-05-2009 14:44:20

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: Récupérer les valeurs de l'url

As tu essayé /index.php/defautl/index/index ?!

Hors ligne

 

#10 28-05-2009 10:15:36

nicko
Membre
Lieu: Chambéry
Date d'inscription: 25-05-2009
Messages: 190

Re: Récupérer les valeurs de l'url

acharrex a écrit:

Juste par curiosité... pourquoi souhaites-tu utiliser des URL "standards" (ex. index.php?module=XX&controller=YY&action=ZZ) plutôt que des jolies URL réécrites ? (ex. /XX/YY/ZZ)

A l'origine c'est par ce que c'est un administrateur que je développe. Donc les jolies  url ne m'intéressent pas, et je n'étais pas familiarisé travailler ainsi. En général les urls je les retravaille à la fin quand toute la prog est fini.

Mais j'ai fini par opter pour cette technique. Par contre je serais curieux de savoir s'il est passible de désactiver cette option.

a+

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