Spec-Zone.ru › Symfony 2.7

Запрос

класс Request

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

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

Константы

HEADER_FORWARDED
HEADER_CLIENT_IP
HEADER_CLIENT_HOST
HEADER_CLIENT_PROTO
HEADER_CLIENT_PORT
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)

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

static array getTrustedProxies()

Возвращает список доверенных прокси-серверов.

static setTrustedHosts(array $hostPatterns)

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

static array getTrustedHosts()

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

static setTrustedHeaderName(string $key, string $value)

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

static string getTrustedHeaderName(string $key)

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

static string normalizeQueryString(string $qs)

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

static enableHttpMethodParameterOverride()

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

static bool getHttpMethodParameterOverride()

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

mixed get(string $key, mixed $default = null, bool $deep = false)

Возвращает значение параметра.

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-тип, связанный с форматом.

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 isMethodCacheable()

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

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.

Подробности

__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)

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

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

Параметры

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

static array getTrustedProxies()

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

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

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

static setTrustedHosts(array $hostPatterns)

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

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

Параметры

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

static array getTrustedHosts()

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

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

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

static setTrustedHeaderName(string $key, string $value)

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

Поддерживаются следующие ключи заголовков:

  • Request::HEADERCLIENTIP: по умолчанию X-Forwarded-For (см. getClientIp())
  • Request::HEADERCLIENTHOST: по умолчанию X-Forwarded-Host (см. getHost())
  • Request::HEADERCLIENTPORT: по умолчанию X-Forwarded-Port (см. getPort())
  • Request::HEADERCLIENTPROTO: по умолчанию X-Forwarded-Proto (см. getScheme() и isSecure())
  • Request::HEADER_FORWARDED: по умолчанию Forwarded (см. RFC 7239)

Установка пустого значения позволяет отключить доверенный заголовок для данного ключа.

Параметры

string $key Ключ заголовка
string $value Имя заголовка

Исключения

InvalidArgumentException

static string getTrustedHeaderName(string $key)

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

Параметры

string $key Ключ заголовка

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

string Имя заголовка

Исключения

InvalidArgumentException

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, bool $deep = false)

Получает значение параметра.

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

Порядок приоритета: GET, PATH, POST

Избегайте использования этого метода в контроллерах:

  • медленно
  • лучше получать из «именного» источника

Лучше явно получать параметры запроса из соответствующего открытого свойства (query, attributes, request).

Параметры

string $key ключ
mixed $default значение по умолчанию, если ключ параметра не существует
bool $deep является ли параметр глубоким в многомерном массиве

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

mixed

SessionInterface|null getSession()

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

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

SessionInterface|null Сессия

bool hasPreviousSession()

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

Возвращаемое значение

bool

bool hasSession()

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

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

Возвращаемое значение

bool true, если запрос содержит объект Session, 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-адрес, откуда он получил запрос.

Если ваш обратный прокси использует другое имя заголовка, отличное от "X-Forwarded-For" (например, "Client-Ip"), настройте его с помощью "setTrustedHeaderName()" с ключом "client-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" должен содержать порт клиента.

Если ваш обратный прокси использует другое имя заголовка, отличное от "X-Forwarded-Port", настройте его с помощью "setTrustedHeaderName()" с ключом "client-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 (т. е. не декодированный по URL)

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".

Если ваш обратный прокси использует другое имя заголовка, отличное от "X-Forwarded-Proto" ("SSL_HTTPS", например), настройте его с помощью "setTrustedHeaderName()" с ключом "client-proto".

Возвращаемое значение

bool

string getHost()

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

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

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

Если ваш обратный прокси использует другое имя заголовка, отличное от "X-Forwarded-Host", настройте его с помощью "setTrustedHeaderName()" с ключом "client-host".

Возвращаемое значение

string

Исключения

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

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, если не найден)

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 isMethodCacheable()

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

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

bool

См. также

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

string|resource getContent(bool $asResource = false)

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

Параметры

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

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

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

Исключения

LogicException

array getETags()

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

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

array Теги сущностей

bool isNoCache()

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

bool

string|null getPreferredLanguage(array $locales = null)

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

Параметры

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

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

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

array getLanguages()

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

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

array Языки в порядке предпочтений браузера пользователя

array getCharsets()

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

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

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

array getEncodings()

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

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

array Список кодировок в порядке предпочтений

array getAcceptableContentTypes()

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

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

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

bool isXmlHttpRequest()

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

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

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

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

См. также

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

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

Spec-Zone.ru

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