Spec-Zone.ru › Symfony 3.0

Запрос

класс 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)

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

SessionInterface|null getSession()

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

bool hasPreviousSession()

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

bool hasSession()

Содержит ли запрос объект сессии.

setSession(SessionInterface $session)

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

array getClientIps()

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

string getClientIp()

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

string getScriptName()

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

string getPathInfo()

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

string getBasePath()

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

string getBaseUrl()

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

string getScheme()

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

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

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

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 Экземпляр 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())

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

Параметры

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

Исключения

InvalidArgumentException

static string getTrustedHeaderName(string $key)

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

Параметры

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

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

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

Исключения

InvalidArgumentException

static string normalizeQueryString(string $qs)

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

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

Параметры

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

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

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

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)

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

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

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

Параметры

string $key ключ
mixed $default значение по умолчанию

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

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

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

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

Если ваш обратный прокси использует имя заголовка, отличное от «X-Forwarded-For» (например, «Client-Ip»), настройте его с помощью «setTrustedHeaderName()» с ключом «client-ip».

Результат

string Адрес 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

string getPort()

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

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

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

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

Результат

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

Если ваш обратный прокси использует другое имя заголовка, отличное от «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

string|resource getContent(bool $asResource = false)

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

Параметры

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

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

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

Исключения

LogicException

array getETags()

Получает ETags.

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

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

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

Spec-Zone.ru

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