2010-06-02 2 views
0

J'ai eu une lecture de la documentation, mais ne pouvait pas voir un exemple de la façon dont il serait possible d'utiliser la variable dans le style traditionnel de PHP $_POST['var']Comment accéder à une variable définie dans l'URL lors de l'utilisation de Zend Framework?

Je suis sûr que mon URL est légitime:

domain.com/module/controller/action/var/value/

en utilisant ce qui précède comme exemple:

$var ne fonctionne pas

$_POST['var'] ne fonctionne pas

Comment cela se fait-il?

Répondre

2

$this->_request->getParam('paramName', $defaultValueToReturnIfParamIsNotSet);

4

Tel que présenté dans zend controller's documentation page vous pouvez récupérer les paramètres comme ceci:

public function userinfoAction() 
{ 
    $request = $this->getRequest(); 
    $username = $request->getParam('username'); 

    $username = $this->_getParam('username'); 
} 

Vous devriez également noter que request documentation états:

Pour faire partie de son travail, getParam() récupère en réalité à partir de plusieurs sources. Par ordre de priorité, ceux-ci comprennent: les paramètres utilisateur définis par les paramètres setParam(), GET et enfin les paramètres POST. Soyez conscient de cela en tirant des données via cette méthode.

Si vous souhaitez uniquement extraire des paramètres définis via setParam(), utilisez le getUserParam(). De plus, à partir de la version 1.5.0, vous pouvez verrouiller les sources de paramètres à rechercher. setParamSources() vous permet de spécifier un tableau vide ou un tableau avec une ou plusieurs des valeurs '_GET' ou '_POST' indiquant quelles sources de paramètres sont autorisées (par défaut, les deux sont autorisés); Si vous souhaitez restreindre l'accès à uniquement '_GET', spécifiez setParamSources(array('_GET')).

Questions connexes