В контроллере, как я могу получить $_SERVER
переменные в zf2?
Например, я хотел бы получить $_SERVER['HTTP_HOST']
, $_SERVER['REMOTE_ADDR']
, и так далее.
Я попытался с помощью следующего:
$this->getRequest()->getServer();
но это приводит к:
Fatal error: Call to undefined method Zend\Http\Request::getServer()
Чтобы получить значения $ _SERVER из контроллера, я смог сделать:
$request = new \Zend\Http\PhpEnvironment\Request();
$httpHost = $request->getServer('HTTP_HOST');
$remoteAddr = $request->getServer('REMOTE_ADDR');
Поскольку я отвечаю на свой вопрос, мне было бы интересно узнать, есть ли другие рекомендуемые решения.
если ваши контроллеры расширяют 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();
}
}