Skip to content
Anton edited this page Apr 27, 2017 · 21 revisions

Описание

Обертка для работы с глобальными переменными $_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 пользователя

Clone this wiki locally