Request
Описание
Обертка для работы с глобальными переменными $_GET, $_POST, $_COOKIE, $_SERVER, $_FILES, $_ENV. Большинство функционала честно взято из Zend_Controller_Request_Http.
Настройки
Нет
Использование
с версии 0.6.0 добавлен способ вызова с использованием Proxy
Методы общие как для CLI интерфейса так и для HTTP запросов:
// get request from application $Request = $this->getRequest(); // module/controller $Request->getModule(); $Request->getController(); // params $Request->setParam($key, $value); $Request->getParam($key, $default); $Request->setParams($array); // get method $Request->getMethod();
Проверка методов
Для контроллера можно добавить описание методов на какие он откликается:
return /** * @method POST * @method PUT * @method CLI */ function() { /*...*/ }
Таким образом можно отсечь нежелательное вмешательство в поведение системы.
Proxy\Request
Расширяет функционал следующими методами:
-
isCli() -
isHttp() -
isGet()- проверка запрашиваемого метода -
isPost()- проверка запрашиваемого метода -
isPut()- проверка запрашиваемого метода -
isDelete()- проверка запрашиваемого метода -
isXmlHttpRequest()- проверка заголовкаX_REQUESTED_WITHна принадлежность кXMLHttpRequest -
getController()- текущий контроллер -
getModule()- текущий модуль -
getMethod()- текущий HTTP метод -
getAccept()- возвращает значения заголовкаAcceptв виде массива[$mimeType => $quality] -
checkAccept(array $allowTypes = [])- возвращает "лучший" mime-тип из переданных на основе заголовкаAccept -
getHeader(string $header)- получение значения определенного заголовка -
getQuery($key = null, $default = null)- получение всего массива$_GETили определенного ключа -
getPost($key = null, $default = null)- получение всего массива$_POSTили определенного ключа -
getParam($key, $default = null)- ищет данные по ключу в глобальных переменных, используется следующий приоритет:$_GET > $_POST -
getParams()- возвращает смерженный массив данных $_GET и $_POST -
getCookie($key = null, $default = null)- получение всего массива$_COOKIEили определенного ключа -
getEnv($key = null, $default = null)- получение всего массива$_ENVили определенного ключа -
getServer($key = null, $default = null)- получение всего массива$_SERVERили определенного ключа -
getFile($name)- возвращает объект\Zend\Diactoros\UploadedFile -
getUri()- возвращает класс реализующийPsr\Http\Message\UriInterface -
getClientIp($checkProxy = true)- возвращает IP пользователя