Я использую модули ZF2, но я не использую полный стек фреймворка ZF2.
Мне нужно уметь тянуть GET
параметры из строки URL в мой контроллер.
Я создал Controller
это расширяет AbstractActionController
ZF2. После прочтения ZF2: получить параметры URL в контроллере, я использовал print $this->params('line');
попытаться напечатать $_GET['line']
значение, но ничего не обнаруживается.
Короче говоря, это должно работать, но не работает:
//ZF2 equivalents of print $_GET['line'] (either one should work)
print $this->params('line');
print $this->getEvent()->getRouteMatch()->getParam('line');
Я думаю, это связано с отсутствием механизма для заселения params
от $_GET
, Как я могу вставить эту часть механизма ZF2 в мой код?
И стоит ли это хлопот? Например, если мне нужно представить маршруты, события и в значительной степени внедрить всю инфраструктуру ZF2 в мой код и значительно перемонтировать мое приложение, чтобы это работало, я мог бы просто придерживаться $_GET
метод, по крайней мере, на данный момент.
Я не уверен, что это значительный ответ, но он может быть по крайней мере полезным. Итак, отказ от ответственности: я не пробовал это.
Таким образом, вы продлили AbstractActionController
, что приятно, потому что он полон функций. AbstractActionController
реализует полный список интерфейсов, который заставляет контроллер слушать MvcEvents, использует Service Locator и т. д. Если вы не предоставляете контроллеру ServiceLocator и т. д., то нет смысла расширять AbstractActionController
, Использовать DispatchableInterface
вместо! Читайте также: http://framework.zend.com/manual/current/en/modules/zend.mvc.controllers.html
Теперь, если вы хотите использовать функции AbstractActionController
вам понадобится пакет \ Zend \ Mvc. Который идет со всеми функциями или накладными расходами — какой из этих случаев зависит от вашего приложения. Обратите внимание, что приложение Zend MVC на самом деле очень производительно, но если вы не планируете повторно использовать эти компоненты, вам может быть лучше без них. Руководство фактически показывает, как загрузить Zend MVC: http://framework.zend.com/manual/current/en/modules/zend.mvc.intro.html#bootstrapping-an-application. Если вам удастся начать загрузку, у вас все будет хорошо, и вы сможете использовать свои контроллеры.
Вы можете попробовать
print $this->params()->fromQuery('line');
Согласно этому http://zf2cheatsheet.com/