В настоящее время я пытаюсь интегрироваться с 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-запрос при использовании амперсандов?
Похоже, я понял это. Это не имеет ничего общего с амперсандами, слешами и т. Д., А скорее с тем, что мой маршрут не был создан должным образом.
Я был сброшен эта документация на сайте ZF1 о роутерах:
Первый параметр в конструкторе Zend_Controller_Router_Route
определение маршрута, которое будет соответствовать URL. Определения маршрута
состоят из статической и динамической частей, разделенных косой чертой (‘/’)
персонаж. Статические части — это просто текст: автор. Динамические части,
называемые переменные, помечаются путем добавления двоеточия к переменной
имя :: имя пользователя
Других решений пока нет …