Класс Phalcon\Http\Request

Реализует Phalcon\Http\RequestInterface, Phalcon\Di\InjectionAwareInterface

Source on GitHub

Инкапсулирует информацию запроса для легкого и безопасного доступа от контроллеров приложений.

Объект запроса - это простой объект значения, передаваемый между классами dispatcher и controller. Он упаковывает среду запроса HTTP.

<?php

use Phalcon\Http\Request;

$request = new Request();

if ($request->isPost() && $request->isAjax()) {
    echo "Запрос был сделан с использованием POST и AJAX";
}

$request->getServer("HTTP_HOST"); // Извлечение переменных SERVER 
$request->getMethod();            // GET, POST, PUT, DELETE, HEAD, OPTIONS, PATCH, PURGE, TRACE, CONNECT
$request->getLanguages();         // Массив языков, которые принимает клиент

Methods

public getHttpMethodParameterOverride ()

...

public setHttpMethodParameterOverride (mixed $httpMethodParameterOverride)

...

public setDI (Phalcon\DiInterface $dependencyInjector)

Устанавливает инжектор зависимостей

public getDI ()

Возвращает инжектор внутренних зависимостей

public get ([mixed $name], [mixed $filters], [mixed $defaultValue], [mixed $notAllowEmpty], [mixed $noRecursive])

Получает переменную из глобальных фильтров, применяемых в $_REQUEST , если это необходимо. Если параметры не предоставлены, возвращается глобальный параметр $_REQUEST

<?php

// Возвращает значение из $_REQUEST ["user_email"] без очистки
$userEmail = $request->get("user_email");

// Возвращает значение из $_REQUEST ["user_email"] с очисткой
$userEmail = $request->get("user_email", "email");

public getPost ([mixed $name], [mixed $filters], [mixed $defaultValue], [mixed $notAllowEmpty], [mixed $noRecursive])

Возвращает переменную из суперглобального массива $ _POST применяя фильтры при необходимости, если не заданы параметры   возвращается суперглобальный массив $ _POST

<?php

// Возвращает значение из $_POST ["user_email"] без очистки
$userEmail = $request->getPost("user_email");

// Возвращает значение из $_POST ["user_email"] с очисткой
$userEmail = $request->getPost("user_email", "email");

public getPut ([mixed $name], [mixed $filters], [mixed $defaultValue], [mixed $notAllowEmpty], [mixed $noRecursive])

Получает переменную из запроса put

<?php

// Возвращает значение из $_PUT ["user_email"] без очистки
$userEmail = $request->getPut("user_email");

// Возвращает значение из $_PUT ["user_email"] с очисткой
$userEmail = $request->getPut("user_email", "email");

public getQuery ([mixed $name], [mixed $filters], [mixed $defaultValue], [mixed $notAllowEmpty], [mixed $noRecursive])

Возвращает переменную из  $ _GET  применение фильтров при необходимости, если не заданы параметры возвращается $ _GET

<?php

// Возвращает значение из $_GET ["id"] без очистки
$id = $request->getQuery("id");

// Возвращает значение из $_GET ["id"] с очисткой
$id = $request->getQuery("id", "int");

// Возвращает значение из $_GET ["id"] со значением по умолчанию
$id = $request->getQuery("id", null, 150);

final protected getHelper (array $source, [mixed $name], [mixed $filters], [mixed $defaultValue], [mixed $notAllowEmpty], [mixed $noRecursive])

Помощник для получения данных из суперглобальных объектов, при необходимости применяя фильтры. Если параметры не указаны, возвращается суперглобальный объект.

public getServer (mixed $name)

Получает переменную из суперглобального массива $ _SERVER

public has (mixed $name)

Проверяет, имеет ли суперглобальный $_REQUEST определенный индекс

public hasPost (mixed $name)

Проверяет, имеет ли суперглобальный $_POST определенный индекс

public hasPut (mixed $name)

Проверяет, имеют ли данные PUT определенный индекс

public hasQuery (mixed $name)

Проверяет, имеет ли суперглобальный $_GET  определенный индекс

final public hasServer (mixed $name)

Проверяет, имеет ли суперглобальный $_SERVER определенный индекс

final public getHeader (mixed $header)

Получает заголовок HTTP из данных запроса

public getScheme ()

Получает схему HTTP (http / https)

public isAjax ()

Проверяет, был ли запрос сделан с помощью ajax

public isSoap ()

Проверяет, был ли запрос сделан с помощью SOAP

public isSoapRequested ()

Псевдоним isSoap(). Он будет удален в будущих версиях

public isSecure ()

Проверяет, был ли запрос сделан с использованием любого безопасного уровня

public isSecureRequest ()

Псевдоним isSecure(). Он будет удален в будущих версиях

public getRawBody ()

Получает тело запроса HTTP raw

public getJsonRawBody ([mixed $associative])

Получает декодированное тело запроса JSON HTTP raw

public getServerAddress ()

Получает IP-адрес активного сервера

public getServerName ()

Получает активное имя сервера

public getHttpHost ()

Возвращает имя узла, используемого запросом. Request::getHttpHost попытка найти имя хоста в следующем порядке:

  • $_SERVER["HTTP_HOST"]
  • $_SERVER["SERVER_NAME"]
  • $_SERVER["SERVER_ADDR"] Дополнительно Request::getHttpHost проверяет и очищает имя хоста.  Request::$_strictHostCheck можно использовать для проверки имени хоста. Примечание: проверки и очистки негативно сказаться на производительности, поскольку они используют регулярные выражения.
<?php

use Phalcon\Http\Request;

$request = new Request;

$_SERVER["HTTP_HOST"] = "example.com";
$request->getHttpHost(); // example.com

$_SERVER["HTTP_HOST"] = "example.com:8080";
$request->getHttpHost(); // example.com:8080

$request->setStrictHostCheck(true);
$_SERVER["HTTP_HOST"] = "ex=am~ple.com";
$request->getHttpHost(); // UnexpectedValueException

$_SERVER["HTTP_HOST"] = "ExAmPlE.com";
$request->getHttpHost(); // example.com

public setStrictHostCheck ([mixed $flag])

Устанавливает, должен ли метод Request::getHttpHost использовать строгую проверку имени хоста или нет

public isStrictHostCheck ()

Проверяет, будет ли метод Request::getHttpHost использовать строгую проверку имени хоста или нет

public getPort ()

Получает информацию о порте, на который сделан запрос.

final public getURI ()

Возвращает HTTP URI, запрос которого был сделан

public getClientAddress ([mixed $trustForwardedHeader])

Получает максимально возможный IPv4-адрес клиента. Этот метод выполняет поиск в $_SERVER ["REMOTE_ADDR"] и, возможно, в $_SERVER ["HTTP_X_FORWARDED_FOR"]

final public getMethod ()

Получает HTTP-метод, запрос которого был сделан Если заголовок X-HTTP-Method-Override установлен, и если метод является POST, то он используется для определения «реального» предполагаемого метода HTTP. Параметр запроса _method также может использоваться для определения HTTP-метода, но только если был вызван setHttpMethodParameterOverride (true). Метод всегда является строкой в ​​верхнем регистре.

public getUserAgent ()

Получает HTTP-агент пользователя, используемый для выполнения запроса

public isValidHttpMethod (mixed $method)

Проверяет, является ли метод действительным методом HTTP

public isMethod (mixed $methods, [mixed $strict])

Проверяет, соответствует ли метод HTTP любому из переданных методов. Когда strict is true, он проверяет, являются ли проверенные методы реальными HTTP-методами

public isPost ()

Проверяет, является ли метод HTTP POST. если _SERVER ["REQUEST_METHOD"] === "POST"

public isGet ()

Проверяет, является ли метод HTTP GET. если _SERVER ["REQUEST_METHOD"] === "GET"

public isPut ()

Проверяет, является ли метод HTTP PUT. если _SERVER ["REQUEST_METHOD"] === "PUT"

public isPatch ()

Проверяет, является ли метод HTTP PATCH. если _SERVER ["REQUEST_METHOD"] === "PATCH"

public isHead ()

Проверяет, является ли метод HTTP HEAD. если _SERVER ["REQUEST_METHOD"] === "HEAD"

public isDelete ()

Проверяет, является ли метод HTTP DELETE. если _SERVER["REQUEST_METHOD"]==="DELETE"

public isOptions ()

Проверяет, является ли метод HTTP OPTIONS. если _SERVER["REQUEST_METHOD"]==="OPTIONS"

public isPurge ()

Проверяет, является ли HTTP-метод PURGE (поддержка Squid и Varnish). если _SERVER ["REQUEST_METHOD"] === "PURGE"

public isTrace ()

Проверяет, является ли метод HTTP TRACE. если _SERVER ["REQUEST_METHOD"] === "TRACE"

public isConnect ()

Проверяет, является ли метод HTTP CONNECT. если _SERVER ["REQUEST_METHOD"] === "CONNECT"

public hasFiles ([mixed $onlySuccessful])

Проверяет, включает ли запрос прикрепленные файлы

final protected hasFileHelper (mixed $data, mixed $onlySuccessful)

Рекурсивно подсчитывает файл в массиве файлов

public getUploadedFiles ([mixed $onlySuccessful])

Получает вложенные файлы в виде экземпляров Phalcon\Http\Request\File

final protected smoothFiles (array $names, array $types, array $tmp_names, array $sizes, array $errors, mixed $prefix)

Сгладить $ _FILES, чтобы иметь простой массив со всеми загруженными файлами

public getHeaders ()

Возвращает доступные заголовки в запросе

<?php

$_SERVER = [
    "PHP_AUTH_USER" => "phalcon",
    "PHP_AUTH_PW"   => "secret",
];

$headers = $request->getHeaders();

echo $headers["Authorization"]; // Basic cGhhbGNvbjpzZWNyZXQ=

public getHTTPReferer ()

Получает веб-страницу, которая ссылается на активный запрос. т.е.: http://www.google.com

final protected _getBestQuality (array $qualityParts, mixed $name)

Обработать заголовок запроса и вернуть его с лучшим качеством

public getContentType ()

Получает тип контента, запрос которого выполнен

public getAcceptableContent ()

Получает массив с mime/types и качеством, принятым браузером/клиентом из _SERVER ["HTTP_ACCEPT"]

public getBestAccept ()

Получает лучший mime/type, принятый браузером/клиентом из _SERVER ["HTTP_ACCEPT"]

public getClientCharsets ()

Получает массив charsets и их качество, принятое браузером/клиентом из _SERVER["HTTP_ACCEPT_CHARSET"]

public getBestCharset ()

Получает лучшую кодировку, принятую браузером/клиентом из _SERVER["HTTP_ACCEPT_CHARSET"]

public getLanguages ()

Получает массив языков и их качество, принятое браузером/клиентом из _SERVER["HTTP_ACCEPT_LANGUAGE"]

public getBestLanguage ()

Получает лучший язык, принятый браузером/клиентом из _SERVER["HTTP_ACCEPT_LANGUAGE"]

public getBasicAuth ()

Получает информацию об аутентификации, принятую браузером/клиентом, из $_SERVER["PHP_AUTH_USER"]

public getDigestAuth ()

Получает информацию об аутентификации, принятую браузером/клиентом, из $_SERVER["PHP_AUTH_DIGEST"]

final protected _getQualityHeader (mixed $serverIndex, mixed $name)

Обработать заголовок запроса и вернуть массив значений с их качествами