Spec-Zone.ru › Symfony 2.8

Запрос

класс 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 Нормализованная строка запроса для Request

static enableHttpMethodParameterOverride()

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

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

Метод HTTP может быть переопределен только тогда, когда реальный метод HTTP равен POST.

static bool getHttpMethodParameterOverride()

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

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

bool Истина, если параметр запроса _method включен, ложь в противном случае

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

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

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

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

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

  • медленно
  • предпочтительнее получать из "именованного" источника

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

Примечание: Поиск глубоких элементов устарел с версии 2.8, будет удален в 3.0.

Параметры

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

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

mixed

SessionInterface|null getSession()

Получение сессии.

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

SessionInterface|null Сессия

bool hasPreviousSession()

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

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

bool

bool hasSession()

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

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

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

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, откуда он получил запрос.

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

  • 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 (т.е. без декодирования 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

См. также

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

Получает 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

См. также

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

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

Spec-Zone.ru

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