Я пытаюсь извлечь ПОЛУЧИТЬ параметры из URL REST ZF. Это не текущий запрос, и я не хочу называть URL или выполнять маршрут, мне просто нужны параметры. Я ищу служебную функцию как parse_url (), но для Зенда формат REST. Есть ли один, или я должен изобрести велосипед?
Я попробовал несколько вещей как создание нового Zend_Controller_Request_Http, но параметры не заполняются. Это - допустимый URL HTTP.
Править: По запросу, демонстрационному 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 );
.. что должно дать вам массив параметров.