Параметр Zend Retrieve Url

Это мой первый подход к Zend. Имея это действие индекса:

class IndexController extends Zend_Controller_Action
{
 public function indexAction()
 {
    $this->view->variable="I'm testing my controller";
    if($this->_request->isGet())
    {
        $name=$this->_request->getQuery('mykey');
        $this->view->name=$name;
    }   
 }
}

и это представление index.phtml:

echo $this->variable;
if (isset($this->name))
{echo $this->name;}

Если я наберу этот URL:

http://localhost/index/index/mykey/2

Разве я не должен видеть вывод «2» в моем индексном представлении?? Я просто вижу «Я тестирую свой контроллер»;

P.S. нужно объяснение больше, чем решение =)

Благодарность

Лука


person luca    schedule 10.05.2011    source источник


Ответы (1)


Использовать

$this->_getParam ('mykey', 0);

вместо.

person akond    schedule 10.05.2011
comment
$this-›_request-›getQuery('mykey'); это не правильный метод делать то, что вы хотите. - person akond; 10.05.2011
comment
не могли бы вы указать мне ссылку или просто коротко сказать мне, почему это было неправильно ?? еще раз спасибо - person luca; 10.05.2011
comment
getQuery предназначен для извлечения значений из строки запроса, например. если ваш URL-адрес был localhost/index/index/?mykey=2, тогда код в твой вопрос сработал бы. getParam также работает с переменными, установленными маршрутизатором, так что обычно это то, что вы хотите использовать. - person Tim Fountain; 10.05.2011