Skip to content
Anton edited this page Feb 25, 2014 · 21 revisions

Описание

Обертка для работы с глобальными переменными $_GET, $_POST, $_COOKIE, $_SERVER, $_FILES, $_ENV. Большинство функционала честно взято из Zend_Controller_Request_Http.

Настройки

Нет

Использование

Методы общие как для 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() { /*...*/ }

Таким образом можно отсечь нежелательное вмешательство в поведение системы.

Http\Request

Расширяет функционал специфическими для HTTP методами:

  • getScheme() - возвращает http либо https

  • isGet() - проверка запрашиваемого метода

  • isPost() - проверка запрашиваемого метода

  • isPut() - проверка запрашиваемого метода

  • isDelete() - проверка запрашиваемого метода

  • isXmlHttpRequest() - проверка заголовка X_REQUESTED_WITH на принадлежность к XMLHttpRequest

  • isFlashRequest() - проверка заголовка USER_AGENT на наличие flash

  • getHeader(string $header) - получение значения определенного заголовка

  • getQuery($key = null, $dafault = null) - получение всего массива $_GET или определенного ключа

  • getPost($key = null, $dafault = null) - получение всего массива $_POST или определенного ключа

  • getCookie($key = null, $dafault = null) - получение всего массива $_COOKIE или определенного ключа

  • getServer($key = null, $dafault = null) - получение всего массива $_SERVER или определенного ключа

  • getFileUpload() - возвращает объект Http\FileUpload, подробнее о его использовании Http\FileUpload

  • getHttpHost() - возвращает текущий хост, если порт отличный от значения по умолчанию, но он так же будет возвращаться

  • getRequestUri() - возвращает строку запроса (например /index/?var=foo)

  • getBaseUrl() - возвращает значение точки входа (например /)

  • getCleanUri() - возвращает строку запроса, без baseUrl (например index/?var=foo)

  • getClientIp($checkProxy = true) - возвращает IP пользователя

Cli\Request

Функционально ничего не добавляет в абстрактный класс, за пояснениями по CLI идём на страницу CLI

Clone this wiki locally