Intereting Posts
PHP: цикл через многомерный массив Как установить глобальную переменную, доступную во всем приложении Можно ли безопасно использовать str_replace в кодированной кодировке UTF-8, если в качестве аргументов заданы только строки с кодировкой UTF-8? Почему этот jQuery ajax-вызов не возвращает данные из моего php-скрипта? Как избежать рисков безопасности UNLINK в PHP? Laravel: перенаправление с контроллера на указанный маршрут с помощью колясок в URL-адресе Laravel запрещает пользователям редактировать / просматривать ресурсы других пользователей Предупреждение: mysql_fetch_array (): предоставленный аргумент не является допустимым результатом MySQL в строке 40 Общие вопросы по полному опросу / HTTP-потоку отправка почты с помощью php & escaping hotmails junk folder Почему array_key_exists 1000x медленнее, чем isset на ссылочных массивах? Оформить заказ на мою корзину заказов с помощью PayPal Запустить XDebug в Netbeans по внешнему запросу PHPmailer отправляет HTML-код PHP Итерация simplexml в цикле foreach

Zend Framework – нужно получить доступ к параметру GET из представления

Привет, ребята, я использую фреймворк Zend, и мне нужно построить URL-адрес на мой взгляд. Обычно в регулярном php-коде я просто хватаю GET Variable, используя глобальный $ _GET. Однако с Zend я устанавливаю его для очистки URI так:

? Ас = список и фильтр = работает и страница = 2

Похоже на индекс / ac / list / filter / works / page / 2

На мой взгляд, я устанавливаю ссылки cs таким образом, что если фильтр переменной GET равен работам, цвет этой ссылки будет другим, и он будет указывать на одну и ту же страницу, только связанную так:

Индекс / акр / список / фильтр / дополнительные / страница / 2

ANd, как мудрый, у меня есть ряд других ссылок, все, что только одно значение GET – как это установить? Im с использованием рамки Zend …

Solutions Collecting From Web of "Zend Framework – нужно получить доступ к параметру GET из представления"

Чтобы получить доступ к переменной запроса прямо в представлении, которое вы могли бы сделать:

Zend_Controller_Front::getInstance()->getRequest()->getParam('key'); 

Но, как говорили другие, это не очень хорошая идея. Это может быть проще, но рассмотрите другие варианты:

  • установить переменную вида в контроллере
  • написать помощник представления, который вытаскивает переменную из объекта запроса

Если вам нужно получить доступ к параметру GET из представления, я думаю, вы делаете это неправильно.

Я предлагаю вам настроить маршрут со всеми вашими параметрами, а затем использовать $this->url из вашего представления, чтобы сделать правильный и правильный URL-адрес.

Fore som больше информации, посмотрите следующий пост в блоге (нет, я не автор): http://naneau.nl/2007/07/08/use-the-url-view-helper-please/

Редактировать:

Если вы хотите быть «ленивым», вы можете установить параметр вида из своего контроллера, выполнив $this->view->param = $this->_getParam('param') . Затем вы можете получить доступ к param из своего представления, выполнив echo $this->param; , Однако я не рекомендую это делать.

Для доступа к объекту запроса одним из способов является сохранение его в реестре.

  1. http://osdir.com/ml/php.zend.framework.mvc/2007-08/msg00158.html
  2. http://www.zfforums.com/zend-framework-components-13/model-view-controller-mvc-21/how-access-request-object-customizing-layout-view-3349.html

Вы можете передать его с контроллера: $this->view->page = $this->_getParam('page'); ,

Сноска: Я согласен с @alexn.