Класс Uri
Свойства base и webroot давно используют Uri. Для сохранения обратной совместимости и предотвращения ошибок динамических свойств в PHP 8.2 мы используем эту реализацию, которая декорирует Uri из Laminas
Этот класс является временной внутренней реализацией, которая будет удалена в версии 5.x
Краткое описание методов
-
__construct() public
Конструктор
-
__get() public
Прокладка для обратной совместимости для ранее динамических свойств.
-
__toString() public
Возвращает строковое представление в виде ссылки URI.
-
getAuthority() public
Получить компонент authority URI.
-
getBase() public
Получить базовый путь приложения.
-
getFragment() public
Получить компонент fragment URI.
-
getHost() public
Получить компонент host URI.
-
getPath() public
Получить компонент path URI.
-
getPort() public
Получить компонент port URI.
-
getQuery() public
Получить строку запроса URI.
-
getScheme() public
Получить компонент scheme URI.
-
getUri() public
Получить декорированный URI
-
getUserInfo() public
Получить компонент user information URI.
-
getWebroot() public
Получить путь webroot приложения.
-
withFragment() public
Возвращает экземпляр с указанным фрагментом URI.
-
withHost() public
Возвращает экземпляр с указанным хостом.
-
withPath() public
Возвращает экземпляр с указанным путем.
-
withPort() public
Возвращает экземпляр с указанным портом.
-
withQuery() public
Возвращает экземпляр с указанной строкой запроса.
-
withScheme() public
Возвращает экземпляр с указанной схемой.
-
withUserInfo() public
Возвращает экземпляр с указанной информацией о пользователе.
Подробное описание методов
__construct() public
__construct(Psr\Http\Message\UriInterface $uri, string $base, string $webroot)
Конструктор
Параметры
-
Psr\Http\Message\UriInterface$uri Экземпляр Uri для декорирования
-
string$base Базовый путь.
-
string$webroot Путь к корневому каталогу веб-сервера.
__get() public
__get(string $name): mixed
Прослойка обратной совместимости для ранее динамических свойств.
Параметры
-
string$name Атрибут для чтения.
Возвращаемое значение
mixed__toString() public
__toString(): string
Возвращает строковое представление в виде ссылки URI.
В зависимости от того, какие компоненты URI присутствуют, результирующая строка представляет собой либо полный URI, либо относительную ссылку в соответствии с RFC 3986, раздел 4.1. Метод объединяет различные компоненты URI, используя соответствующие разделители:
- Если схема присутствует, она ДОЛЖНА заканчиваться на ":".
- Если присутствует authority, он ДОЛЖЕН начинаться с "//".
- Путь может быть объединен без разделителей. Но есть два случая, когда путь должен быть скорректирован, чтобы ссылка URI была действительной, поскольку PHP не позволяет вызывать исключение в __toString():
- Если путь без корня и присутствует authority, путь ДОЛЖЕН начинаться с "/".
- Если путь начинается с более чем одного "/" и authority отсутствует, начальные слеши ДОЛЖНЫ быть сведены к одному.
- Если присутствует query, он ДОЛЖЕН начинаться с "?".
- Если присутствует fragment, он ДОЛЖЕН начинаться с "#".
Возвращаемое значение
stringgetAuthority() public
getAuthority(): string
Извлечь компонент authority URI.
Если информация об authority отсутствует, этот метод ДОЛЖЕН возвращать пустую строку.
Синтаксис authority URI:
[user-info@]host[:port]
Если компонент порта не задан или является стандартным портом для текущей схемы, он НЕ ДОЛЖЕН включаться.
Возвращаемое значение
stringgetBase() public
getBase(): string
Получить базовый путь приложения.
Возвращаемое значение
stringgetFragment() public
getFragment(): string
Извлечь компонент fragment URI.
Если fragment отсутствует, этот метод ДОЛЖЕН возвращать пустую строку.
Ведущий символ "#" не является частью fragment и НЕ ДОЛЖЕН добавляться.
Возвращаемое значение ДОЛЖНО быть процент-кодировано, но НЕ ДОЛЖНО быть двойным кодированием любых символов. Чтобы определить, какие символы кодировать, обратитесь к RFC 3986, разделы 2 и 3.5.
Возвращаемое значение
stringgetHost() public
getHost(): string
Извлечь компонент host URI.
Если host отсутствует, этот метод ДОЛЖЕН возвращать пустую строку.
Возвращаемое значение ДОЛЖНО быть нормализовано к нижнему регистру, согласно RFC 3986, раздел 3.2.2.
Возвращаемое значение
stringgetPath() public
getPath(): string
Извлечь компонент path URI.
Путь может быть пустым, абсолютным (начинающимся со слеша) или без корня (не начинающимся со слеша). Реализации ДОЛЖНЫ поддерживать все три синтаксиса.
Обычно пустой путь "" и абсолютный путь "/" считаются равными, как определено в RFC 7230, раздел 2.7.3. Но этот метод НЕ ДОЛЖЕН автоматически выполнять эту нормализацию, поскольку в контекстах с усеченным базовым путем, например, в главном контроллере, это различие становится значительным. Пользователь должен обрабатывать как "" так и "/".
Возвращаемое значение ДОЛЖНО быть процент-кодировано, но НЕ ДОЛЖНО быть двойным кодированием любых символов. Чтобы определить, какие символы кодировать, обратитесь к RFC 3986, разделы 2 и 3.3.
Например, если значение должно включать слеш ("/"), не предназначенный в качестве разделителя между сегментами пути, это значение ДОЛЖНО быть передано в закодированной форме (например, "%2F") экземпляру.
Возвращаемое значение
stringgetPort() public
getPort(): null|int
Извлечь компонент port URI.
Если порт присутствует и не является стандартным для текущей схемы, этот метод ДОЛЖЕН возвращать его как целое число. Если порт является стандартным портом, используемым с текущей схемой, этот метод ДОЛЖЕН возвращать null.
Если порт отсутствует и схема отсутствует, этот метод ДОЛЖЕН возвращать значение null.
Если порт отсутствует, но схема присутствует, этот метод МОЖЕТ возвращать стандартный порт для этой схемы, но ДОЛЖЕН возвращать null.
Возвращаемое значение
null|intgetQuery() public
getQuery(): string
Извлечь строку запроса URI.
Если строка запроса отсутствует, этот метод ДОЛЖЕН возвращать пустую строку.
Ведущий символ "?" не является частью запроса и НЕ ДОЛЖЕН добавляться.
Возвращаемое значение ДОЛЖНО быть процент-кодировано, но НЕ ДОЛЖНО быть двойным кодированием любых символов. Чтобы определить, какие символы кодировать, обратитесь к RFC 3986, разделы 2 и 3.4.
Например, если значение в паре ключ/значение строки запроса должно включать амперсанд ("&"), не предназначенный в качестве разделителя между значениями, это значение ДОЛЖНО быть передано в закодированной форме (например, "%26") экземпляру.
Возвращаемое значение
stringgetScheme() public
getScheme(): string
Извлечь компонент scheme URI.
Если схема отсутствует, этот метод ДОЛЖЕН возвращать пустую строку.
Возвращаемое значение ДОЛЖНО быть нормализовано к нижнему регистру, согласно RFC 3986, раздел 3.1.
Завершающий символ ":" не является частью схемы и НЕ ДОЛЖЕН добавляться.
Возвращаемое значение
stringgetUri() public
getUri(): Psr\Http\Message\UriInterface
Получить декорированный URI
Возвращаемое значение
Psr\Http\Message\UriInterfacegetUserInfo() public
getUserInfo(): string
Извлечь компонент информации о пользователе URI.
Если информация о пользователе отсутствует, этот метод ДОЛЖЕН возвращать пустую строку.
Если пользователь присутствует в URI, это значение будет возвращено; кроме того, если также присутствует пароль, он будет добавлен к значению пользователя с двоеточием (":") в качестве разделителя значений.
Завершающий символ "@" не является частью информации о пользователе и НЕ ДОЛЖЕН добавляться.
Возвращаемое значение
stringgetWebroot() public
getWebroot(): string
Получить путь к корневому каталогу веб-сервера приложения.
Возвращаемое значение
stringwithFragment() public
withFragment(string $fragment): static
Возвращает экземпляр с указанным фрагментом URI.
Этот метод ДОЛЖЕН сохранять состояние текущего экземпляра и возвращать экземпляр, содержащий указанный фрагмент URI.
Пользователи могут указывать как закодированные, так и декодированные символы фрагмента. Реализации обеспечивают правильное кодирование, как описано в getFragment().
Пустое значение фрагмента эквивалентно удалению фрагмента.
Параметры
-
string$fragment
Возвращаемое значение
staticwithHost() public
withHost(string $host): static
Возвращает экземпляр с указанным host.
Этот метод ДОЛЖЕН сохранять состояние текущего экземпляра и возвращать экземпляр, содержащий указанный host.
Пустое значение host эквивалентно удалению host.
Параметры
-
string$host
Возвращаемое значение
staticwithPath() public
withPath(string $path): static
Возвращает экземпляр с указанным путем.
Этот метод ДОЛЖЕН сохранять состояние текущего экземпляра и возвращать экземпляр, содержащий указанный путь.
Путь может быть пустым, абсолютным (начинающимся со слеша) или без корня (не начинающимся со слеша). Реализации ДОЛЖНЫ поддерживать все три синтаксиса.
Если путь предназначен для относительного к домену, а не к пути, он должен начинаться со слеша ("/"). Пути, не начинающиеся со слеша ("/"), считаются относительными к некоторому базовому пути, известному приложению или потребителю.
Пользователи могут указывать как закодированные, так и декодированные символы пути. Реализации обеспечивают правильное кодирование, как описано в getPath().
Параметры
-
string$path
Возвращаемое значение
staticwithPort() public
withPort(null|int $port): static
Возвращает экземпляр с указанным портом.
Этот метод ДОЛЖЕН сохранять состояние текущего экземпляра и возвращать экземпляр, содержащий указанный порт.
Реализации ДОЛЖНЫ вызывать исключение для портов за пределами установленных диапазонов портов TCP и UDP.
Значение null, предоставленное для порта, эквивалентно удалению информации о порте.
Параметры
-
null|int$port
Возвращает
staticwithQuery() public
withQuery(string $query): static
Возвращает экземпляр с указанной строкой запроса.
Этот метод ДОЛЖЕН сохранять состояние текущего экземпляра и возвращать экземпляр, содержащий указанную строку запроса.
Пользователи могут предоставлять как закодированные, так и декодированные символы запроса. Реализации обеспечивают правильное кодирование, как указано в getQuery().
Пустая строка запроса эквивалентна удалению строки запроса.
Параметры
-
string$query
Возвращает
staticwithScheme() public
withScheme(string $scheme): static
Возвращает экземпляр с указанной схемой.
Этот метод ДОЛЖЕН сохранять состояние текущего экземпляра и возвращать экземпляр, содержащий указанную схему.
Реализации ДОЛЖНЫ поддерживать схемы "http" и "https" без учёта регистра и МОГУТ учитывать другие схемы, если это необходимо.
Пустая схема эквивалентна удалению схемы.
Параметры
-
string$scheme
Возвращает
staticwithUserInfo() public
withUserInfo(string $user, null|string $password = null): static
Возвращает экземпляр с указанной информацией о пользователе.
Этот метод ДОЛЖЕН сохранять состояние текущего экземпляра и возвращать экземпляр, содержащий указанную информацию о пользователе.
Пароль является необязательным, но информация о пользователе ДОЛЖНА включать пользователя; пустая строка для пользователя эквивалентна удалению информации о пользователе.
Параметры
-
string$user -
null|string$password optional
Возвращает
static
© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.4/class-Cake.Http.Uri.html