Intereting Posts
Не удается получить доступ к Facebook signed_request с вкладкой iframe Показать комментарии на домашней странице WordPress PHP перенаправляется после отправки формы Wamp server: изменение httpd.conf для apache? Какое использование лямбда в PHP? Проблемы с пикселями отслеживания и прокси-сервером Gmail перезагрузить php-код с помощью ajax Как я могу добавить подсказку с драйвером в процесс проверки magento onepage? Как вставить данные в базу данных Laravel? Ошибка NameValuePair «NameValuePair не может быть разрешена к типу» Получать значения из базы данных с помощью PHP PDO и обновлять ввод для проверки Используя WordPress, может ли кто-нибудь сказать мне лучший способ дезинфекции ввода? Как удалить строки из базы данных mysql с помощью php с помощью кнопки удаления формы Удалить / Скрыть Woocommerce Добавлен в корзину Сообщение, но Keep / Display Coupon Applied Message Модуль Magento Fatal error: Class 'Mage_Cashondelivery_Helper_Data' не найден в \ xampp \ htdocs \ magento \ app \ Mage.php в строке 516

Как анализировать URL-адрес Zend для параметров?

Я пытаюсь извлечь параметры GET из URL-адреса REST REST. Это не текущий запрос, и я не хочу вызывать URL-адрес или выполнять маршрут, мне просто нужны параметры. Я ищу функцию полезности, такую ​​как parse_url (), но для формата Zend REST. Есть ли он, или мне нужно изобретать велосипед?

Я пробовал несколько вещей, таких как создание нового Zend_Controller_Request_Http, но параметры не заполняются. Это действительный URL-адрес HTTP.

Изменить: по запросу образец Zend URL:

http://localhost/index/index/param1/foo/param2/bar 

Поэтому я просто пытаюсь получить param1 и param2 из этого URL.

Редактировать # 2: Я пробовал это, но он, похоже, не работает:

 $request = new Zend_Controller_Request_Http('http://localhost/home/test/param1/foo/param2/bar'); $front = Zend_Controller_Front::getInstance(); $route = new Zend_Rest_Route($front); var_dump($route->match($request)); 

Как насчет $uri = Zend_Uri::factory( $yourUrl ) '? См. Zend_Uri .

Редактировать:
Ах, я понимаю, что вы имеете в виду сейчас. В этом случае я считаю, что вы должны попробовать то, что предложил Гордон. Запустите свой URL-адрес через метод match вашего маршрута.

Вероятно, есть способ получить маршрут от маршрутизатора с чем-то вроде (не уверен, хотя):

 $route = Zend_Controller_Front::getInstance() ->getRouter() ->getRoute( 'theRouteName' ); 

А потом сделайте следующее:

 $params = $route->match( $yourUrl ); 

.. который должен дать вам массив параметров.

Если кто-то пришел сюда, пытаясь получить все параметры (включая модуль / контроллер / действие) из сохраненного URL-адреса с учетом маршрутов, определенных на вашем пути.ini, вам необходимо:

 /** * Code kept big just for example purposes * Creates a request object, route and injects back the properties parsed */ $url = 'http://www.site.com/module/controller/action/param1/test'; $request = new Zend_Controller_Request_Http($url); Zend_Controller_Front::getInstance()->getRouter()->route($request); // Module name $request->getModuleName(); // Controller name $request->getControllerName(); // Action name $request->getActionName(); // All parameters $request->getParams();