Skip to content
AntonShevchuk edited this page Feb 8, 2013 · 21 revisions

Описание

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

Настройки

Нет

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

Методы общие как для CLI интерфейса так и для HTTP запросов:

<?php
// 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);

HTTPRequest

<?php
 
// return http|https
$Request->getScheme();
// get request method GET/POST/PUT/DELETE
$Request->getMethod();
// get $_GET data
$Request->getQuery($key, $default);
// get $_POST data
$Request->getPost($key, $default);
 
$Request->getCookie($key, $default);
$Request->getServer($key, $default);
$Request->getEnv($key, $default);
 
$Request->getHeader($header);
$Request->getHttpHost();
 
$Request->setBaseUrl($baseUrl);
$Request->getBaseUrl();

$Request->getClientIp($checkProxy = true);
 
// return bool
$Request->isXmlHttpRequest();
// return bool
$Request->isFlashRequest();

HttpFileUpload

<?php
$fileUpload = $this->getRequest()->getFileUpload();
$file = $fileUpload -> getFile('avatar'); // return HttpFile
if (!$file->hasError() && $file -> isImage()) {
    $file -> save('path/to/save');
}

$files = $fileUpload -> getFiles('photos'); // return array
foreach ($files as $file) {
    // logic similar to prevous example
}

CliRequest

Clone this wiki locally