Zend form _request-> getParams () существует ли param? - PullRequest
2 голосов
/ 28 января 2012

Я уверен, что это очень просто. У нас есть вызов ajax для контроллера. Вызов переходит в пару значений - идентификатор И значение. Мне нужно знать имя идентификатора, а также значение, чтобы я мог сделать это:

      switch ($identifier) {
    case 'country':
        //set value for something
        break;
    case 'region':
        //set value for something else
        break;
}

Я бы предпочел не передавать дополнительное значение, потому что в этом нет необходимости.

Я попробовал это, и, кроме отвратительного запутанного кода, он не работал!

      $requestparams=$this->_request->getParams();
      list($controller,$action,$module,$levelpair)=$requestparams;
      list ($level,$id)=$levelpair;

Ответы [ 2 ]

4 голосов
/ 28 января 2012

Безопаснее получать параметры с помощью методов контроллера, а не напрямую обращаться к защищенным элементам. Кроме того, из того, что я могу сказать, switch не лучший подход.

Попробуйте:

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

if (isset($requestParams['country'])) {
     //do something
}

if (isset($requestParams['region'])) {
     //do something
}
3 голосов
/ 28 января 2012

Попробуйте это:

  $requestparams=$this->_request->getParams();
  foreach($requestparams as $key => $value) {
    switch ($key) {
    case 'country':
        //set value for something
        break;
    case 'region':
        //set value for something else
        break;
    }
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...