Spec-Zone.ru › Symfony 4.0

Запрос

класс Запрос

Запрос представляет собой HTTP-запрос.

Методы, работающие с URL, принимают и возвращают сырой путь (% закодированный): * getBasePath * getBaseUrl * getPathInfo * getRequestUri * getUri * getUriForPath

Константы

HEADER_FORWARDED
HEADER_X_FORWARDED_FOR
HEADER_X_FORWARDED_HOST
HEADER_X_FORWARDED_PROTO
HEADER_X_FORWARDED_PORT
HEADER_X_FORWARDED_ALL
HEADER_X_FORWARDED_AWS_ELB
METHOD_HEAD
METHOD_GET
METHOD_POST
METHOD_PUT
METHOD_PATCH
METHOD_DELETE
METHOD_PURGE
METHOD_OPTIONS
METHOD_TRACE
METHOD_CONNECT

Свойства

ParameterBag $attributes Пользовательские параметры.
ParameterBag $request Параметры тела запроса ($_POST).
ParameterBag $query Параметры строки запроса ($_GET).
ServerBag $server Параметры сервера и среды выполнения ($_SERVER).
FileBag $files Загруженные файлы ($_FILES).
ParameterBag $cookies Куки ($_COOKIE).
HeaderBag $headers Заголовки (взятые из $_SERVER).

Методы

__construct(array $query = array(), array $request = array(), array $attributes = array(), array $cookies = array(), array $files = array(), array $server = array(), string|resource $content = null)
initialize(array $query = array(), array $request = array(), array $attributes = array(), array $cookies = array(), array $files = array(), array $server = array(), string|resource $content = null)

Устанавливает параметры для данного запроса.

static Request createFromGlobals()

Создаёт новый запрос с использованием глобальных переменных PHP.

static Request create(string $uri, string $method = 'GET', array $parameters = array(), array $cookies = array(), array $files = array(), array $server = array(), string $content = null)

Создаёт запрос на основе заданного URI и конфигурации.

static setFactory(callable|null $callable)

Устанавливает вызываемый объект, способный создать экземпляр Request.

Request duplicate(array $query = null, array $request = null, array $attributes = null, array $cookies = null, array $files = null, array $server = null)

Создаёт копию запроса и переопределяет некоторые его параметры.

__clone()

Создаёт копию текущего запроса.

string __toString()

Возвращает запрос в виде строки.

overrideGlobals()

Переопределяет глобальные переменные PHP в соответствии с данным экземпляром запроса.

static setTrustedProxies(array $proxies, int $trustedHeaderSet)

Устанавливает список доверенных прокси-серверов.

static array getTrustedProxies()

Получает список доверенных прокси-серверов.

static int getTrustedHeaderSet()

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

static setTrustedHosts(array $hostPatterns)

Устанавливает список доверенных шаблонов хостов.

static array getTrustedHosts()

Получает список доверенных шаблонов хостов.

static string normalizeQueryString(string $qs)

Нормализует строку запроса.

static enableHttpMethodParameterOverride()

Включает поддержку параметра запроса _method для определения предполагаемого HTTP-метода.

static bool getHttpMethodParameterOverride()

Проверяет, включена ли поддержка параметра запроса _method.

mixed get(string $key, mixed $default = null)

Получает значение «параметра» из любого хранилища.

SessionInterface|null getSession()

Получает сеанс.

bool hasPreviousSession()

Указывает, содержит ли запрос сеанс, начатый в одном из предыдущих запросов.

bool hasSession()

Указывает, содержит ли запрос объект сеанса.

setSession(SessionInterface $session)

Устанавливает сеанс.

array getClientIps()

Возвращает адреса IP клиента.

string|null getClientIp()

Возвращает адрес IP клиента.

string getScriptName()

Возвращает имя текущего сценария.

string getPathInfo()

Возвращает путь, запрашиваемый относительно выполняемого сценария.

string getBasePath()

Возвращает корневой путь, с которого выполняется данный запрос.

string getBaseUrl()

Возвращает корневой URL, с которого выполняется данный запрос.

string getScheme()

Получает схему запроса.

int|string getPort()

Возвращает порт, на котором осуществляется запрос.

string|null getUser()

Возвращает пользователя.

string|null getPassword()

Возвращает пароль.

string getUserInfo()

Получает информацию о пользователе.

string getHttpHost()

Возвращает HTTP-хост, который запрашивается.

string getRequestUri()

Возвращает URI запроса (путь и строка запроса).

string getSchemeAndHttpHost()

Получает схему и HTTP-хост.

string getUri()

Генерирует нормализованный URI (URL) для запроса.

string getUriForPath(string $path)

Генерирует нормализованный URI для заданного пути.

string getRelativeUriForPath(string $path)

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

string|null getQueryString()

Генерирует нормализованную строку запроса для запроса.

bool isSecure()

Проверяет, является ли запрос защищённым.

string getHost()

Возвращает имя хоста.

setMethod(string $method)

Устанавливает метод запроса.

string getMethod()

Получает «намеченный» метод запроса.

string getRealMethod()

Получает «действительный» метод запроса.

string getMimeType(string $format)

Получает MIME-тип, связанный с форматом.

static array getMimeTypes(string $format)

Получает MIME-типы, связанные с форматом.

string|null getFormat(string $mimeType)

Получает формат, связанный с MIME-типом.

setFormat(string $format, string|array $mimeTypes)

Связывает формат с MIME-типами.

string getRequestFormat(string $default = 'html')

Получает формат запроса.

setRequestFormat(string $format)

Устанавливает формат запроса.

string|null getContentType()

Получает формат, связанный с запросом.

setDefaultLocale(string $locale)

Устанавливает значение по умолчанию для локали.

string getDefaultLocale()

Получает значение по умолчанию для локали.

setLocale(string $locale)

Устанавливает локаль.

string getLocale()

Получает локаль.

bool isMethod(string $method)

Проверяет, является ли метод запроса указанного типа.

bool isMethodSafe()

Проверяет, является ли метод безопасным.

bool isMethodIdempotent()

Проверяет, является ли метод идемпотентным.

bool isMethodCacheable()

Проверяет, является ли метод кешируемым.

string getProtocolVersion()

Возвращает версию протокола.

string|resource getContent(bool $asResource = false)

Возвращает содержимое тела запроса.

array getETags()

Получает значения ETags.

bool isNoCache()
string|null getPreferredLanguage(array $locales = null)

Возвращает предпочтительный язык.

array getLanguages()

Получает список языков, приемлемых для браузера клиента.

array getCharsets()

Получает список кодировок, приемлемых для браузера клиента.

array getEncodings()

Получает список кодировок, приемлемых для браузера клиента.

array getAcceptableContentTypes()

Получает список типов содержимого, приемлемых для браузера клиента.

bool isXmlHttpRequest()

Возвращает true, если запрос является XMLHttpRequest.

bool isFromTrustedProxy()

Указывает, исходит ли данный запрос от доверенного прокси-сервера.

Подробности

__construct(array $query = array(), array $request = array(), array $attributes = array(), array $cookies = array(), array $files = array(), array $server = array(), string|resource $content = null)

Параметры

array $query Параметры GET
array $request Параметры POST
array $attributes Атрибуты запроса (параметры, полученные из PATH_INFO и т.д.)
array $cookies Параметры COOKIE
array $files Параметры FILES
array $server Параметры SERVER
string|resource $content Необработанные данные тела запроса

initialize(array $query = array(), array $request = array(), array $attributes = array(), array $cookies = array(), array $files = array(), array $server = array(), string|resource $content = null)

Устанавливает параметры для этого запроса.

Этот метод также повторно инициализирует все свойства.

Параметры

array $query Параметры GET
array $request Параметры POST
array $attributes Атрибуты запроса (параметры, полученные из PATH_INFO и т.д.)
array $cookies Параметры COOKIE
array $files Параметры FILES
array $server Параметры SERVER
string|resource $content Необработанные данные тела запроса

static Request createFromGlobals()

Создаёт новый запрос с данными из глобальных переменных PHP.

Значение результата

Request

static Request create(string $uri, string $method = 'GET', array $parameters = array(), array $cookies = array(), array $files = array(), array $server = array(), string $content = null)

Создаёт запрос на основе заданного URI и конфигурации.

Информация, содержащаяся в URI, всегда имеет приоритет над другой информацией (сервер и параметры).

Параметры

string $uri URI
string $method HTTP-метод
array $parameters Параметры запроса (GET или POST)
array $cookies Куки запроса ($_COOKIE)
array $files Файлы запроса ($_FILES)
array $server Параметры сервера ($_SERVER)
string $content Необработанные данные тела запроса

Значение результата

Request

static setFactory(callable|null $callable)

Устанавливает вызываемый объект для создания экземпляра Request.

Это полезно в основном, когда нужно переопределить класс Request, чтобы сохранить обратную совместимость с существующей системой. Не следует использовать для других целей.

Параметры

callable|null $callable Вызываемый объект PHP

Request duplicate(array $query = null, array $request = null, array $attributes = null, array $cookies = null, array $files = null, array $server = null)

Создаёт копию запроса и переопределяет некоторые его параметры.

Параметры

array $query Параметры GET
array $request Параметры POST
array $attributes Атрибуты запроса (параметры, полученные из PATH_INFO и т.д.)
array $cookies Параметры COOKIE
array $files Параметры FILES
array $server Параметры SERVER

Значение результата

Request

__clone()

Создаёт копию текущего запроса.

Обратите внимание, что сессия не клонируется, так как дублированные запросы чаще всего являются подзапросами основного.

string __toString()

Возвращает запрос в виде строки.

Значение результата

string Запрос

overrideGlobals()

Переопределяет глобальные переменные PHP в соответствии с этим экземпляром запроса.

Переопределяет $GET, $POST, $REQUEST, $SERVER, $COOKIE. $FILES никогда не переопределяется, см. rfc1867

static setTrustedProxies(array $proxies, int $trustedHeaderSet)

Устанавливает список доверенных прокси-серверов.

В список следует включать только управляемые вами обратные прокси.

Параметры

array $proxies Список доверенных прокси
int $trustedHeaderSet Битовое поле Request::HEADER_*, для определения заголовков, которым доверяют прокси

Исключения

InvalidArgumentException При некорректном значении $trustedHeaderSet

static array getTrustedProxies()

Получает список доверенных прокси-серверов.

Значение результата

array Список доверенных прокси

static int getTrustedHeaderSet()

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

Значение результата

int Битовое поле Request::HEADER_*, определяющее, каким заголовкам доверяют прокси

static setTrustedHosts(array $hostPatterns)

Устанавливает список доверенных шаблонов хостов.

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

Параметры

array $hostPatterns Список доверенных шаблонов хостов

static array getTrustedHosts()

Получает список доверенных шаблонов хостов.

Значение результата

array Список доверенных шаблонов хостов

static string normalizeQueryString(string $qs)

Нормализует строку запроса.

Строит нормализованную строку запроса, где пары «ключ/значение» отсортированы по алфавиту, имеют согласованное экранирование и удаляются ненужные разделители.

Параметры

string $qs Строка запроса

Значение результата

string Нормализованная строка запроса для запроса

static enableHttpMethodParameterOverride()

Включает поддержку параметра запроса _method для определения предполагаемого HTTP-метода.

Обратите внимание, что включение этой функции может привести к проблемам с CSRF в вашем коде. Убедитесь, что используете токены CSRF при необходимости. Если переопределение параметра HTTP-метода включено, HTML-форма с методом «POST» может быть изменена и использована для отправки запроса «PUT» или «DELETE» через параметр запроса _method. Если эти методы не защищены от CSRF, это представляет потенциальную уязвимость.

HTTP-метод может быть переопределён только когда фактический HTTP-метод равен POST.

static bool getHttpMethodParameterOverride()

Проверяет, включена ли поддержка параметра запроса _method.

Значение результата

bool True, если параметр запроса _method включен, иначе false

mixed get(string $key, mixed $default = null)

Получает значение «параметра» из любого набора.

Этот метод в основном полезен для библиотек, которые хотят предоставить некоторую гибкость. Если в контроллерах нет необходимости в гибкости, лучше явно получать параметры запроса из соответствующих открытых свойств (атрибуты, параметры запроса GET, POST).

Порядок приоритета: PATH (маркеры маршрутизации или пользовательские атрибуты), GET, BODY

Параметры

string $key Ключ
mixed $default Значение по умолчанию, если ключ параметра не существует

Значение результата

mixed

SessionInterface|null getSession()

Получает сессию.

Значение результата

SessionInterface|null Сессия

bool hasPreviousSession()

Возвращает true, если запрос содержит сессию, которая была запущена в одном из предыдущих запросов.

Значение результата

bool

bool hasSession()

Возвращает true, если запрос содержит объект сессии.

Этот метод не даёт никакой информации о состоянии объекта сессии, например, о том, запущена ли сессия или нет. Это просто способ проверить, связан ли этот запрос с экземпляром Session.

Значение результата

bool true, если запрос содержит объект сессии, иначе false

setSession(SessionInterface $session)

Устанавливает сеанс.

Параметры

SessionInterface $session Сеанс

array getClientIps()

Возвращает адреса IP-клиента.

В возвращаемом массиве самый надёжный IP-адрес находится первым, а наименее надёжный — последним. «Реальный» адрес IP-клиента — последний, но он также наименее надёжный. Доверенные прокси-серверы удаляются.

Используйте этот метод с осторожностью; вместо него используйте getClientIp().

Значение возврата

array Адреса IP-клиента

См. также

getClientIp()

string|null getClientIp()

Возвращает адрес IP-клиента.

Этот метод может считывать адрес IP-клиента из заголовка «X-Forwarded-For», если доверенные прокси-серверы были установлены с помощью «setTrustedProxies()». Значение заголовка «X-Forwarded-For» — это список адресов IP, разделённых запятой и пробелом; самый левый — исходный клиент, а каждый последующий прокси-сервер, передающий запрос, добавляет адрес IP, откуда он получил запрос.

Значение возврата

string|null Адрес IP-клиента

См. также

getClientIps()
http://en.wikipedia.org/wiki/X-Forwarded-For

string getScriptName()

Возвращает имя текущего скрипта.

Значение возврата

string

string getPathInfo()

Возвращает путь, запрашиваемый относительно выполняемого скрипта.

Путь всегда начинается с /.

Предположим, этот запрос создан из /mysite на localhost:

  • http://localhost/mysite возвращает пустую строку
  • http://localhost/mysite/about возвращает '/about'
  • http://localhost/mysite/enco%20ded возвращает '/enco%20ded'
  • http://localhost/mysite/about?var=1 возвращает '/about'

Значение возврата

string Исходный путь (т. е. не декодированный с помощью URL)

string getBasePath()

Возвращает корневой путь, из которого выполняется этот запрос.

Предположим, что файл index.php создаёт этот объект запроса:

  • http://localhost/index.php возвращает пустую строку
  • http://localhost/index.php/page возвращает пустую строку
  • http://localhost/web/index.php возвращает '/web'
  • http://localhost/we%20b/index.php возвращает '/we%20b'

Значение возврата

string Исходный путь (т. е. не декодированный с помощью URL)

string getBaseUrl()

Возвращает корневой URL, из которого выполняется этот запрос.

Корневой URL никогда не заканчивается символом /.

Это аналогично getBasePath(), за исключением того, что он также включает имя файла скрипта (например, index.php), если оно существует.

Значение возврата

string Исходный URL (т. е. не декодированный с помощью URL)

string getScheme()

Получает схему запроса.

Значение возврата

string

int|string getPort()

Возвращает порт, на котором выполнен запрос.

Этот метод может считывать порт клиента из заголовка «X-Forwarded-Port», если доверенные прокси-серверы были установлены с помощью «setTrustedProxies()».

Заголовок «X-Forwarded-Port» должен содержать порт клиента.

Значение возврата

int|string может быть строкой, если получен из пакета сервера

string|null getUser()

Возвращает пользователя.

Значение возврата

string|null

string|null getPassword()

Возвращает пароль.

Значение возврата

string|null

string getUserInfo()

Получает информацию о пользователе.

Значение возврата

string Имя пользователя и, необязательно, информация о схеме, необходимая для авторизации доступа к серверу

string getHttpHost()

Возвращает HTTP-хост, запрашиваемый пользователем.

Имя порта будет добавлено к хосту, если оно не стандартное.

Значение возврата

string

string getRequestUri()

Возвращает URI запроса (путь и строку запроса).

Значение возврата

string Исходный URI (т. е. не декодированный с помощью URI)

string getSchemeAndHttpHost()

Получает схему и HTTP-хост.

Если URL был вызван с базовой аутентификацией, пользователь и пароль не добавляются в сгенерированную строку.

Значение возврата

string Схема и HTTP-хост

string getUri()

Генерирует нормализованный URI (URL) для запроса.

Значение возврата

string Нормализованный URI (URL) для запроса

См. также

getQueryString()

string getUriForPath(string $path)

Генерирует нормализованный URI для заданного пути.

Параметры

string $path Путь, используемый вместо текущего

Значение возврата

string Нормализованный URI для пути

string getRelativeUriForPath(string $path)

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

Только компоненты пути URI (без схемы, хоста и т. д.) являются релевантными и должны быть предоставлены. Оба пути должны быть абсолютными и не содержать относительных частей. Относительные URL-адреса из одного ресурса в другой полезны при генерации автономных архивов загружаемых документов. Кроме того, они могут быть использованы для уменьшения размера ссылок в документах.

Примеры целевых путей, учитывая базовый путь "/a/b/c/d": - "/a/b/c/d" -> "" - "/a/b/c/" -> "./" - "/a/b/" -> "../" - "/a/b/c/other" -> "other" - "/a/x/y" -> "../../x/y"

Параметры

string $path Целевой путь

Значение возврата

string Относительный целевой путь

string|null getQueryString()

Генерирует нормализованную строку запроса для запроса.

Строит нормализованную строку запроса, где пары ключ/значение упорядочены по алфавиту и имеют согласованную экранировку.

Значение возврата

string|null Нормализованная строка запроса для запроса

bool isSecure()

Проверяет, является ли запрос безопасным.

Этот метод может считывать протокол клиента из заголовка «X-Forwarded-Proto», если доверенные прокси-серверы были установлены с помощью «setTrustedProxies()».

Заголовок «X-Forwarded-Proto» должен содержать протокол: «https» или «http».

Значение возврата

bool

string getHost()

Возвращает имя хоста.

Этот метод может считывать имя хоста клиента из заголовка «X-Forwarded-Host», если доверенные прокси-серверы были установлены с помощью «setTrustedProxies()».

Заголовок «X-Forwarded-Host» должен содержать имя хоста клиента.

Значение возврата

string

Исключения

SuspiciousOperationException если имя хоста недействительное или недоверенное

setMethod(string $method)

Устанавливает метод запроса.

Параметры

string $method

string getMethod()

Получает «намеченный» метод запроса.

Если заголовок X-HTTP-Method-Override установлен, и если метод является POST, то он используется для определения «действительного» намеченного HTTP-метода.

Параметр запроса _method также может быть использован для определения HTTP-метода, но только если был вызван enableHttpMethodParameterOverride().

Метод всегда является строкой в верхнем регистре.

Значение возврата

string Метод запроса

См. также

getRealMethod()

string getRealMethod()

Получает «действительный» метод запроса.

Значение возврата

string Метод запроса

См. также

getMethod()

string getMimeType(string $format)

Получает MIME-тип, связанный с форматом.

Параметры

string $format Формат

Значение возврата

string Связанный MIME-тип (null, если не найден)

static array getMimeTypes(string $format)

Получает MIME-типы, связанные с форматом.

Параметры

string $format Формат

Значение результата

массив Соответствующие типы MIME

string|null getFormat(string $mimeType)

Получает формат, связанный с типом MIME.

Параметры

string $mimeType Соответствующий тип MIME

Значение результата

string|null Формат (null, если не найден)

setFormat(string $format, string|array $mimeTypes)

Связывает формат с типами MIME.

Параметры

string $format Формат
string|array $mimeTypes Соответствующие типы MIME (предпочтительный должен быть первым, так как он будет использоваться в качестве типа содержимого)

string getRequestFormat(string $default = 'html')

Получает формат запроса.

Вот процесс определения формата:

  • формат, определенный пользователем (с помощью setRequestFormat())
  • атрибут запроса _format
  • $default

Параметры

string $default Формат по умолчанию

Значение результата

string Формат запроса

setRequestFormat(string $format)

Устанавливает формат запроса.

Параметры

string $format Формат запроса

string|null getContentType()

Получает формат, связанный с запросом.

Значение результата

string|null Формат (null, если тип содержимого отсутствует)

setDefaultLocale(string $locale)

Устанавливает локаль по умолчанию.

Параметры

string $locale

string getDefaultLocale()

Получить локаль по умолчанию.

Значение результата

string

setLocale(string $locale)

Устанавливает локаль.

Параметры

string $locale

string getLocale()

Получить локаль.

Значение результата

string

bool isMethod(string $method)

Проверяет, является ли метод запроса указанного типа.

Параметры

string $method Заглавные буквы метода запроса (GET, POST и т. д.)

Значение результата

bool

bool isMethodSafe()

Проверяет, является ли метод безопасным.

Значение результата

bool

См. также

https://tools.ietf.org/html/rfc7231#section-4.2.1

bool isMethodIdempotent()

Проверяет, является ли метод идемпотентным.

Значение результата

bool

bool isMethodCacheable()

Проверяет, может ли метод быть кэширован.

Значение результата

bool

См. также

https://tools.ietf.org/html/rfc7231#section-4.2.3

string getProtocolVersion()

Возвращает версию протокола.

Если приложение находится за прокси-сервером, версия протокола, используемая в запросах между клиентом и прокси-сервером и между прокси-сервером и сервером, может отличаться. Эта функция возвращает первую (из заголовка «Via»), если прокси-сервер доверен (см. «setTrustedProxies()»), в противном случае она возвращает вторую (из параметра сервера «SERVER_PROTOCOL»).

Значение результата

string

string|resource getContent(bool $asResource = false)

Возвращает содержимое тела запроса.

Параметры

bool $asResource Если true, возвращается ресурс

Значение результата

string|resource Содержимое тела запроса или ресурс для чтения потока тела

Исключения

LogicException

array getETags()

Получает теги ETag.

Значение результата

массив Теги сущности

bool isNoCache()

Значение результата

bool

string|null getPreferredLanguage(array $locales = null)

Возвращает предпочтительный язык.

Параметры

массив $locales Массив доступных локалей в порядке предпочтения

Значение результата

string|null Предпочтительная локаль

array getLanguages()

Получает список языков, приемлемых для браузера клиента.

Значение результата

массив Языки в порядке предпочтения браузера

array getCharsets()

Получает список наборов символов, приемлемых для браузера клиента.

Значение результата

массив Список наборов символов в порядке предпочтения

array getEncodings()

Получает список кодировок, приемлемых для браузера клиента.

Значение результата

массив Список кодировок в порядке предпочтения

array getAcceptableContentTypes()

Получает список типов содержимого, приемлемых для браузера клиента.

Значение результата

массив Список типов содержимого в порядке предпочтения

bool isXmlHttpRequest()

Возвращает true, если запрос является XMLHttpRequest.

Работает, если ваша библиотека JavaScript устанавливает HTTP-заголовок X-Requested-With. Известно, что работает с распространенными JavaScript-фреймворками:

Значение результата

bool true, если запрос является XMLHttpRequest, иначе false

См. также

http://en.wikipedia.org/wiki/List_of_Ajax_frameworks#JavaScript

bool isFromTrustedProxy()

Указывает, произошел ли этот запрос от доверенного прокси-сервера.

Это может быть полезно для определения того, следует ли доверять содержимому заголовка, специфичного для прокси.

Значение результата

bool true, если запрос пришел от доверенного прокси-сервера, иначе false

© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/4.0/Symfony/Component/HttpFoundation/Request.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API