Zend Routing - захват переменных с URL-адреса с амперсандами, а не с косыми чертами - Tapjoy
В настоящее время я пытаюсь интегрироваться с API Tapjoy с помощью их URL-адреса обратного вызова, который приходит в этой форме:
<callback_url>?snuid=<user_id>¤cy=&mac_address=<mac_address>&display_multiplier=<display_multiplier>
Однако при использовании ZF1 Zend_Controller_Router_Route, похоже, зависит от разделения переменных, ограниченного косыми чертами, а не амперсандами.
Вот мой текущий код маршрута
> $router->addRoute( 'api-tapjoy', new Zend_Controller_Router_Route('api/tapjoy?snuid=:snuid&mac_address=:&mac_address&display_multiplier....etc.etc,
array('controller'=>'api', 'action' =>'tapjoy')));
Всякий раз, когда я удаляю амперсанды и начальный вопросительный знак и заменяю их косыми чертами, это работает. Как правильно получить HTTP-запрос при использовании амперсандов?
1 ответ
Похоже, я понял это. Это не имеет ничего общего с амперсандами, слешами и т. Д., А скорее с тем, что мой маршрут не был создан должным образом.
Я был скинут этой документацией на веб-сайте ZF1 о маршрутизаторах:
Первый параметр в конструкторе Zend_Controller_Router_Route - это определение маршрута, которое будет соответствовать URL-адресу. Определения маршрутов состоят из статических и динамических частей, разделенных символом косой черты ('/'). Статические части - это просто текст: автор. Динамические части, называемые переменными, помечаются путем добавления двоеточия к имени переменной:: имя пользователя.