ApacheRequest
class ApacheRequest extends Request
Запрос представляет собой HTTP-запрос с сервера Apache.
Постоянные значения
| HEADER_CLIENT_IP | |
| HEADER_CLIENT_HOST | |
| HEADER_CLIENT_PROTO | |
| HEADER_CLIENT_PORT |
Свойства
| ParameterBag | $attributes | Дополнительные параметры | из Request |
| ParameterBag | $request | Параметры тела запроса ($_POST) | из Request |
| ParameterBag | $query | Параметры строки запроса ($_GET) | из Request |
| ServerBag | $server | Параметры сервера и среды выполнения ($_SERVER) | из Request |
| FileBag | $files | Загруженные файлы ($_FILES) | из Request |
| ParameterBag | $cookies | Куки ($_COOKIE) | из Request |
| HeaderBag | $headers | Заголовки (получены из $_SERVER) | из Request |
Методы
| __construct(array $query = array(), array $request = array(), array $attributes = array(), array $cookies = array(), array $files = array(), array $server = array(), string $content = null) Конструктор. | from Request | |
| initialize(array $query = array(), array $request = array(), array $attributes = array(), array $cookies = array(), array $files = array(), array $server = array(), string $content = null) Устанавливает параметры для этого запроса. | from Request | |
| static Request | createFromGlobals() Создаёт новый запрос со значениями из суперглобальных переменных PHP. | from 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 и конфигурации. | from Request |
| Request | duplicate(array $query = null, array $request = null, array $attributes = null, array $cookies = null, array $files = null, array $server = null) Клонирует запрос и переопределяет некоторые его параметры. | from Request |
| __clone() Клонирует текущий запрос. | from Request | |
| string | __toString() Возвращает запрос в виде строки. | from Request |
| overrideGlobals() Переопределяет глобальные переменные PHP в соответствии с этим экземпляром запроса. | from Request | |
| static | setTrustedProxies(array $proxies) Устанавливает список доверенных прокси. | from Request |
| static array | getTrustedProxies() Получает список доверенных прокси. | from Request |
| static | setTrustedHosts(array $hostPatterns) Устанавливает список доверенных шаблонов хостов. | from Request |
| static array | getTrustedHosts() Получает список доверенных шаблонов хостов. | from Request |
| static | setTrustedHeaderName(string $key, string $value) Устанавливает имя для доверенных заголовков. | from Request |
| static string | getTrustedHeaderName(string $key) Получает имя доверенного заголовка прокси. | from Request |
| static string | normalizeQueryString(string $qs) Нормализует строку запроса. | from Request |
| static | enableHttpMethodParameterOverride() Включает поддержку параметра запроса _method для определения предполагаемого метода HTTP. | from Request |
| static Boolean | getHttpMethodParameterOverride() Проверяет, включена ли поддержка параметра запроса _method. | from Request |
| mixed | get(string $key, mixed $default = null, Boolean $deep = false) Получает значение "параметра". | from Request |
| SessionInterface|null | getSession() Получает сеанс. | from Request |
| Boolean | hasPreviousSession() Присутствует ли в запросе сеанс, который был начат в одном из предыдущих запросов. | from Request |
| Boolean | hasSession() Присутствует ли в запросе объект сеанса. | from Request |
| setSession(SessionInterface $session) Устанавливает сеанс. | from Request | |
| array | getClientIps() Возвращает адреса IP клиентов. | from Request |
| string | getClientIp() Возвращает адрес IP клиента. | from Request |
| string | getScriptName() Возвращает имя текущего сценария. | from Request |
| string | getPathInfo() Возвращает путь, запрашиваемый относительно исполняемого сценария. | from Request |
| string | getBasePath() Возвращает корневой путь, с которого выполняется этот запрос. | from Request |
| string | getBaseUrl() Возвращает корневой URL, с которого выполняется этот запрос. | from Request |
| string | getScheme() Получает схему запроса. | from Request |
| string | getPort() Возвращает порт, на котором выполнен запрос. | from Request |
| string|null | getUser() Возвращает пользователя. | from Request |
| string|null | getPassword() Возвращает пароль. | from Request |
| string | getUserInfo() Получает информацию о пользователе. | from Request |
| string | getHttpHost() Возвращает запрашиваемый HTTP-хост. | from Request |
| string | getRequestUri() Возвращает запрашиваемый URI. | from Request |
| string | getSchemeAndHttpHost() Получает схему и HTTP-хост. | from Request |
| string | getUri() Генерирует нормализованный URI для запроса. | from Request |
| string | getUriForPath(string $path) Генерирует нормализованный URI для данного пути. | from Request |
| string|null | getQueryString() Генерирует нормализованную строку запроса для запроса. | from Request |
| Булево | isSecure() Проверяет, является ли запрос защищенным. | из Request |
| строка | getHost() Возвращает имя хоста. | из Request |
| setMethod(строка $method) Устанавливает метод запроса. | из Request | |
| строка | getMethod() Получает "намеченный" метод запроса. | из Request |
| строка | getRealMethod() Получает "действительный" метод запроса. | из Request |
| строка | getMimeType(строка $format) Получает тип MIME, связанный с форматом. | из Request |
| строка|null | getFormat(строка $mimeType) Получает формат, связанный с типом MIME. | из Request |
| setFormat(строка $format, строка|массив $mimeTypes) Связывает формат с типами MIME. | из Request | |
| строка | getRequestFormat(строка $default = 'html') Получает формат запроса. | из Request |
| setRequestFormat(строка $format) Устанавливает формат запроса. | из Request | |
| строка|null | getContentType() Получает формат, связанный с запросом. | из Request |
| setDefaultLocale(строка $locale) Устанавливает локаль по умолчанию. | из Request | |
| setLocale(строка $locale) Устанавливает локаль. | из Request | |
| строка | getLocale() Получить локаль. | из Request |
| Булево | isMethod(строка $method) Проверяет, является ли метод запроса указанного типа. | из Request |
| Булево | isMethodSafe() Проверяет, является ли метод безопасным. | из Request |
| строка|ресурс | getContent(Булево $asResource = false) Возвращает содержимое тела запроса. | из Request |
| массив | getETags() Получает ETags. | из Request |
| Булево | isNoCache() | из Request |
| строка|null | getPreferredLanguage(массив $locales = null) Возвращает предпочтительный язык. | из Request |
| массив | getLanguages() Получает список языков, приемлемых для браузера клиента. | из Request |
| массив | getCharsets() Получает список кодировок, приемлемых для браузера клиента. | из Request |
| массив | getAcceptableContentTypes() Получает список типов содержимого, приемлемых для браузера клиента | из Request |
| Булево | isXmlHttpRequest() Возвращает true, если запрос является XMLHttpRequest. | из Request |
Подробности
__construct(array $query = array(), array $request = array(), array $attributes = array(), array $cookies = array(), array $files = array(), array $server = array(), string $content = null)
Конструктор.
Параметры
| array | $query | Параметры GET |
| array | $request | Параметры POST |
| array | $attributes | Атрибуты запроса (параметры, распарсенные из PATH_INFO и т.д.) |
| array | $cookies | Параметры COOKIE |
| array | $files | Параметры FILES |
| array | $server | Параметры SERVER |
| string | $content | Необработанные данные тела |
initialize(array $query = array(), array $request = array(), array $attributes = array(), array $cookies = array(), array $files = array(), array $server = array(), string $content = null)
Устанавливает параметры для данного запроса.
Этот метод также повторно инициализирует все свойства.
Параметры
| array | $query | Параметры GET |
| array | $request | Параметры POST |
| array | $attributes | Атрибуты запроса (параметры, распарсенные из PATH_INFO и т.д.) |
| array | $cookies | Параметры COOKIE |
| array | $files | Параметры FILES |
| array | $server | Параметры SERVER |
| string | $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 |
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 (см. getClientHost())
- Request::HEADERCLIENTPORT: по умолчанию X-Forwarded-Port (см. getClientPort())
- 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-метод можно переопределить только в случае, если реальный HTTP-метод — POST.
static Boolean getHttpMethodParameterOverride()
Проверяет, включена ли поддержка параметра запроса _method.
Значение, возвращаемое функцией
| Boolean | True, если параметр _method включён, иначе false |
mixed get(string $key, mixed $default = null, Boolean $deep = false)
Получает значение «параметра».
Этот метод в основном полезен для библиотек, которые хотят обеспечить некоторую гибкость.
Порядок приоритета: GET, PATH, POST
Избегайте использования этого метода в контроллерах:
- медленно
- предпочтите получать из «именованного» источника
Лучше явно получать параметры запроса из соответствующего публичного свойства (query, attributes, request).
Параметры
| string | $key | ключ |
| mixed | $default | значение по умолчанию |
| Boolean | $deep | параметр глубоко в многомерном массиве |
Значение, возвращаемое функцией
| mixed |
SessionInterface|null getSession()
Получает сессию.
Значение, возвращаемое функцией
| SessionInterface|null | Сессия |
Boolean hasPreviousSession()
Является ли запрос содержит сессию, которая была начата в одном из предыдущих запросов.
Значение, возвращаемое функцией
| Boolean |
Boolean hasSession()
Содержит ли запрос объект сессии.
Этот метод не предоставляет никакой информации о состоянии объекта сессии, например, о том, начата ли сессия. Это просто способ проверить, связан ли этот запрос с экземпляром Session.
Значение возвращаемого значения
| Boolean | 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 (т. е. не декодированный из URL) |
string getSchemeAndHttpHost()
Получает схему и HTTP-хост.
Если URL был вызван с базовой аутентификацией, пользователь и пароль не добавляются в сгенерированную строку.
Значение возвращаемого значения
| string | Схема и HTTP-хост |
string getUri()
Генерирует нормализованный URI для запроса.
Значение возвращаемого значения
| string | Нормализованный URI для запроса |
См. также
| getQueryString() |
string getUriForPath(string $path)
Генерирует нормализованный URI для заданного пути.
Параметры
| string | $path | Путь, который нужно использовать вместо текущего |
Значение возвращаемого значения
| string | Нормализованный URI для пути |
string|null getQueryString()
Генерирует нормализованную строку запроса для запроса.
Строит нормализованную строку запроса, где пары ключ/значение отсортированы по алфавиту и имеют согласованное экранирование.
Значение возвращаемого значения
| string|null | Нормализованная строка запроса для запроса |
Boolean isSecure()
Проверяет, является ли запрос защищённым.
Этот метод может считывать порт клиента из заголовка «X-Forwarded-Proto», если доверенные прокси-серверы были установлены с помощью «setTrustedProxies()».
Заголовок «X-Forwarded-Proto» должен содержать протокол: «https» или «http».
Если ваш обратный прокси использует другое имя заголовка, отличное от «X-Forwarded-Proto» (например, «SSL_HTTPS»), настройте его с помощью «setTrustedHeaderName()» с ключом «client-proto».
Значение возвращаемого значения
| Boolean |
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 |
Значение возвращаемого значения
| строка|null | Формат (null, если не найден) |
setFormat(строка $format, строка|массив $mimeTypes)
Связывает формат с типами MIME.
Параметры
| строка | $format | Формат |
| строка|массив | $mimeTypes | Связанные типы MIME (предпочтительный должен быть первым, так как он будет использоваться в качестве типа содержимого) |
строка getRequestFormat(строка $default = 'html')
Получает формат запроса.
Вот процесс определения формата:
- формат, определённый пользователем (с помощью setRequestFormat())
- параметр запроса _format
- $default
Параметры
| строка | $default | Формат по умолчанию |
Возвращаемое значение
| строка | Формат запроса |
setRequestFormat(строка $format)
Устанавливает формат запроса.
Параметры
| строка | $format | Формат запроса. |
строка|null getContentType()
Получает формат, связанный с запросом.
Возвращаемое значение
| строка|null | Формат (null, если тип содержимого отсутствует) |
setDefaultLocale(строка $locale)
Устанавливает язык по умолчанию.
Параметры
| строка | $locale |
setLocale(строка $locale)
Устанавливает язык.
Параметры
| строка | $locale |
строка getLocale()
Получить язык.
Возвращаемое значение
| строка |
Булево isMethod(строка $method)
Проверяет, является ли метод запроса заданного типа.
Параметры
| строка | $method | Метод запроса в верхнем регистре (GET, POST и т. д.). |
Возвращаемое значение
| Булево |
Булево isMethodSafe()
Проверяет, является ли метод безопасным или нет.
Возвращаемое значение
| Булево |
строка|ресурс getContent(Булево $asResource = false)
Возвращает содержимое тела запроса.
Параметры
| Булево | $asResource | Если true, будет возвращён ресурс |
Возвращаемое значение
| строка|ресурс | Содержимое тела запроса или ресурс для чтения потока тела. |
Исключения
| LogicException |
массив getETags()
Получает ETags.
Возвращаемое значение
| массив | Теги сущности |
Булево isNoCache()
Возвращаемое значение
| Булево |
строка|null getPreferredLanguage(массив $locales = null)
Возвращает предпочтительный язык.
Параметры
| массив | $locales | Массив доступных языков в порядке следования |
Возвращаемое значение
| строка|null | Предпочтительный язык |
массив getLanguages()
Получает список языков, приемлемых для браузера клиента.
Возвращаемое значение
| массив | Языки в порядке предпочтения браузера |
массив getCharsets()
Получает список наборов символов, приемлемых для браузера клиента.
Возвращаемое значение
| массив | Список наборов символов в предпочтительном порядке |
массив getAcceptableContentTypes()
Получает список типов содержимого, приемлемых для браузера клиента
Возвращаемое значение
| массив | Список типов содержимого в предпочтительном порядке |
Булево isXmlHttpRequest()
Возвращает true, если запрос является XMLHttpRequest.
Функция работает, если ваша библиотека JavaScript установила заголовок HTTP X-Requested-With. Известно, что она работает с общими JavaScript-фреймворками:
Возвращаемое значение
| Булево | true, если запрос является XMLHttpRequest, в противном случае false |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/3.2/Symfony/Component/HttpFoundation/ApacheRequest.html