Класс Phalcon\Http\Request
реализует Phalcon\Http\RequestInterface, Phalcon\Di\InjectionAwareInterface
Инкапсулирует информацию о запросе для удобного и безопасного доступа из контроллеров приложения.
Объект запроса — простой объект значений, передаваемый между диспетчером и контроллером классов. Он упаковывает среду HTTP-запроса.
use Phalcon\Http\Request;
$request = new Request();
if ($request->isPost() && $request->isAjax()) {
echo "Request was made using POST and AJAX";
}
$request->getServer("HTTP_HOST"); // Retrieve SERVER variables
$request->getMethod(); // GET, POST, PUT, DELETE, HEAD, OPTIONS, PATCH, PURGE, TRACE, CONNECT
$request->getLanguages(); // An array of languages the client accepts
Методы
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.
// Returns value from $_REQUEST["user_email"] without sanitizing
$userEmail = $request->get("user_email");
// Returns value from $_REQUEST["user_email"] with sanitizing
$userEmail = $request->get("user_email", "email");
public getPost ([mixed $name], [mixed $filters], [mixed $defaultValue], [mixed $notAllowEmpty], [mixed $noRecursive])
Получает переменную из суперглобального массива $_POST, применяя фильтры при необходимости. Если параметры не указаны, возвращается весь массив $_POST.
// Returns value from $_POST["user_email"] without sanitizing
$userEmail = $request->getPost("user_email");
// Returns value from $_POST["user_email"] with sanitizing
$userEmail = $request->getPost("user_email", "email");
public getPut ([mixed $name], [mixed $filters], [mixed $defaultValue], [mixed $notAllowEmpty], [mixed $noRecursive])
Получает переменную из запроса PUT.
// Returns value from $_PUT["user_email"] without sanitizing
$userEmail = $request->getPut("user_email");
// Returns value from $_PUT["user_email"] with sanitizing
$userEmail = $request->getPut("user_email", "email");
public getQuery ([mixed $name], [mixed $filters], [mixed $defaultValue], [mixed $notAllowEmpty], [mixed $noRecursive])
Получает переменную из суперглобального массива $_GET, применяя фильтры при необходимости. Если параметры не указаны, возвращается весь массив $_GET.
// Returns value from $_GET["id"] without sanitizing
$id = $request->getQuery("id");
// Returns value from $_GET["id"] with sanitizing
$id = $request->getQuery("id", "int");
// Returns value from $_GET["id"] with a default value
$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-запроса.
public getJsonRawBody ([mixed $associative])
Получает декодированное тело JSON HTTP-запроса.
public getServerAddress ()
Получает IP-адрес активного сервера.
public getServerName ()
Получает имя активного сервера.
public getHttpHost ()
Получает имя хоста, используемое в запросе. Request::getHttpHost пытается найти имя хоста в следующем порядке: - $_SERVER[“HTTP_HOST”] - $_SERVER[“SERVER_NAME”] - $_SERVER[“SERVER_ADDR”] Дополнительно Request::getHttpHost валидирует и очищает имя хоста. Примечание: валидация и очистка оказывают негативное влияние на производительность, так как используют регулярные выражения.
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])
Получает наиболее вероятный IP-адрес клиента 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 равно 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 ()
Возвращает доступные заголовки в запросе.
$_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 и их качеством, принятыми браузером/клиентом из _SERVER[“HTTP_ACCEPT”].
public getBestAccept ()
Получает лучший тип MIME, принятый браузером/клиентом, из _SERVER[“HTTP_ACCEPT”]
public getClientCharsets ()
Получает массив наборов символов и их качества, принятые браузером/клиентом, из _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)
Обрабатывает заголовок запроса и возвращает массив значений с их качествами
© 2011–2017 Phalcon Framework Team
Licensed under the Creative Commons Attribution License 3.0.
https://docs.phalconphp.com/en/latest/api/Phalcon_Http_Request.html