Длинная короткая история: я создаю скелетное приложение для Платформы Зенда, и я добрался до части, где я должен установить api
модуль. Я использую Zend_Rest_Controller
для этого задания. Все в порядке до этой части, где я должен заставить HTTP-заголовки в контроллере проверять ключ API.
На различных учебных руководствах я читал в сети, вещь сделана через плагин фронтального контроллера, но мне нужен он, чтобы быть большим количеством "Plug and Play", чем тот (проверяющий каждый раз конфигурация приложения, решая, какой модуль является API и так далее).
Я попробовал то, что казалось самым очевидным $this->getRequest()->getHeaders()
но, кажется, не работает, по крайней мере, не для HTTP-заголовков, где я буду отбором мой ключ API. Ни один reponse
объект.
Кто-либо может помочь мне с этим?
Я все-таки нашел способ сделать это :)
В методе preDispatch()
в вашем контроллере вы можете сделать следующее:
public function preDispatch()
{
$request = new Zend_Controller_Request_Http();
$key = $request->getHeader('x-apikey');
}
Похоже, что объект
Zend_Controller_Request_Http
дает вам доступ к заголовкам. Больше информации о Zend_Controller_Request_Http
вы можете найти здесь