Phalcon\Http\Request
Класс Phalcon\Http\Request
Реализует Phalcon\Http\RequestInterface, Phalcon\Di\InjectionAwareInterface
Инкапсулирует информацию запроса для легкого и безопасного доступа от контроллеров приложений.
Объект запроса - это простой объект значения, передаваемый между классами 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)
Обработать заголовок запроса и вернуть массив значений с их качествами