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() Возвращает true, если запрос содержит объект сессии, начатой в одном из предыдущих запросов. | from Request |
| Boolean | hasSession() Возвращает true, если запрос содержит объект сессии. | 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://ru.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-тип |
Значение возврата
| string|null | Формат (null, если не найден) |
setFormat(string $format, string|array $mimeTypes)
Связывает формат с типами MIME.
Параметры
| string | $format | Формат |
| string|array | $mimeTypes | Связанные типы MIME (предпочтительный должен быть первым, так как он будет использован в качестве заголовка Content-Type) |
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 |
setLocale(string $locale)
Устанавливает локаль.
Параметры
| string | $locale |
string getLocale()
Получить локаль.
Возвращаемое значение
| string |
Boolean isMethod(string $method)
Проверяет, является ли метод запроса указанного типа.
Параметры
| string | $method | Метод запроса в верхнем регистре (GET, POST и т. д.). |
Возвращаемое значение
| Boolean |
Boolean isMethodSafe()
Проверяет, является ли метод безопасным.
Возвращаемое значение
| Boolean |
string|resource getContent(Boolean $asResource = false)
Возвращает содержимое тела запроса.
Параметры
| Boolean | $asResource | Если true, возвращается ресурс |
Возвращаемое значение
| string|resource | Содержимое тела запроса или ресурс для чтения потока тела. |
Исключения
| LogicException |
array getETags()
Получает ETags.
Возвращаемое значение
| array | Теги сущности |
Boolean isNoCache()
Возвращаемое значение
| Boolean |
string|null getPreferredLanguage(array $locales = null)
Возвращает предпочтительный язык.
Параметры
| array | $locales | Массив доступных языков в порядке приоритета |
Возвращаемое значение
| string|null | Предпочтительная локаль |
array getLanguages()
Получает список языков, приемлемых для браузера клиента.
Возвращаемое значение
| array | Языки, отсортированные в порядке предпочтения пользователя в браузере |
array getCharsets()
Получает список наборов символов, приемлемых для браузера клиента.
Возвращаемое значение
| array | Список наборов символов в предпочтительном порядке |
array getAcceptableContentTypes()
Получает список типов контента, приемлемых для браузера клиента
Возвращаемое значение
| array | Список типов контента в предпочтительном порядке |
Boolean isXmlHttpRequest()
Возвращает true, если запрос является XMLHttpRequest.
Работает, если ваша JavaScript-библиотека установила заголовок HTTP X-Requested-With. Известно, что работает со стандартными JavaScript-фреймворками:
Возвращаемое значение
| Boolean | true, если запрос является XMLHttpRequest, иначе false |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/3.4/Symfony/Component/HttpFoundation/ApacheRequest.html