2010-04-11 3 views
2

Est-il possible de voir tous les paramètres envoyés si je ne connais pas leur nom?Zend Framework and Parameters

Par exemple, j'ai envoyé ces paramètres:

  • id = 1 (GET)
  • name = 'John' (GET)
  • nom = 'Smith' (GET)

Exemple

$request = $this->getRequest(); 
echo $request->getParam[0]; // Will output 1 
echo $request->getParam[1]; // Will output 'John' 
echo $request->getParam[2]; // Will output 'Smith' 

Merci!

(Je ne suis pas anglophone.)

Répondre

2

Vous pouvez utiliser la méthode getParams() pour obtenir une combinaison de tous les params demande:

$params = $this->getRequest()->getParams(); 

foreach($params as $key => $value) { 
    // Do whatever you want. 
} 

Il existe aussi des méthodes getQuery() et getPost().

+0

exactement ce qui est dans mon esprit mais plus clair. Mine était var_dump ($ this-> getRequest() -> getParams(); ) – Hanseh

+0

@Hanseh - si l'OP veut imprimer les clés et les valeurs des paramètres '$ _GET' de la manière ZF, en utilisant' $ request-> getParams() 'lui donnera aussi le contrôleur, l'action et le module en plus (ce qu'il ne veut pas, à en juger par la spécificité de la question). – karim79

+0

@ Karim79 - mon erreur. Je ne faisais que réitérer l'idée que la fonction getParams() est disponible et qu'il peut obtenir sa variable nécessaire en la manipulant. Merci pour la correction. – Hanseh

1
$request = $this->getRequest(); 
print_r($request->getQuery()); // returns the entire $_GET array 
print_r($request->getQuery("foo")); // retrieve a single member of the $_GET array 

Donc, pour saisir les noms et valeurs des paramètres par programmation, par exemple, dans une boucle simple:

foreach($request->getQuery() as $key => $value) { 
    echo "Key is: " . $key . " and value is: " . $value . '<br />'; 
} 

Vérifier sur le API docs pour Zend_Controller_Request_Http.