Получить переменные $ _SERVER в zf2 внутри контроллера

В контроллере, как я могу получить $_SERVER переменные в zf2?

Например, я хотел бы получить $_SERVER['HTTP_HOST'], $_SERVER['REMOTE_ADDR'], и так далее.

Я попытался с помощью следующего:

$this->getRequest()->getServer();

но это приводит к:

Fatal error: Call to undefined method Zend\Http\Request::getServer()

0

Решение

Чтобы получить значения $ _SERVER из контроллера, я смог сделать:

$request    = new \Zend\Http\PhpEnvironment\Request();
$httpHost   = $request->getServer('HTTP_HOST');
$remoteAddr = $request->getServer('REMOTE_ADDR');

Поскольку я отвечаю на свой вопрос, мне было бы интересно узнать, есть ли другие рекомендуемые решения.

4

Другие решения

если ваши контроллеры расширяют AbstractActionController, вы можете использовать $this->getRequest()->getServer()->get('REMOTE_ADDR'); в zf2 v2.4

class ListController extends AbstractActionController
{
public function indexAction()
{
$addr = $this->getRequest()->getServer()->get('REMOTE_ADDR');

\Zend\Debug\Debug::dump($addr); die();
}
}
2

По вопросам рекламы [email protected]