Spec-Zone.ru › CakePHP 3.8

Класс EntityRoute

Сопоставление сущностей с маршрутами

Этот маршрут будет сопоставляться по сущности и отображать её поля в шаблон URL, сравнивая имена полей с переменными шаблона. Это упрощает и облегчает глобальные изменения маршрутов.

Cake\Routing\Route\Route
Расширенный Cake\Routing\Route\EntityRoute
Пространство имён: Cake\Routing\Route
Расположение: Routing/Route/EntityRoute.php

Унаследованные константы

  • VALID_METHODS

Унаследованные свойства

  • _compiledRoute, _extensions, _greedy, _name, braceKeys, defaults, keys, middleware, options, template

Краткое описание методов

  • _checkEntity() protected
    Проверяет, что мы действительно имеем дело с объектом сущности
  • match() public

    Сопоставление по сущности и отображение её полей в шаблон URL путём сравнения имён полей с переменными шаблона.

Подробное описание методов

_checkEntity()source protected

_checkEntity( ArrayAccess|array $entity )

Проверяет, что мы действительно имеем дело с объектом сущности

Параметры

ArrayAccess|array $entity
Значение сущности из опций URL

Исключения

RuntimeException

match()source public

match( array $url , array $context = [] )

Сопоставление по сущности и отображение её полей в шаблон URL путём сравнения имён полей с переменными шаблона.

Если ключ маршрутизации определён как в $url, так и в сущности, то значение, определённое в $url, будет предпочтительнее.

Параметры

array $url
Массив параметров для преобразования в строку.
array $context optional []

Массив текущего контекста запроса. Содержит информацию, такую как текущий хост, схема, порт и базовый каталог.

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

boolean|string
Либо false, либо строка URL.

Переопределяет

Cake\Routing\Route\Route::match()

Методы, унаследованные от Cake\Routing\Route\Route

__construct()source public

__construct( string $template , array|string $defaults = [] , array $options = [] )

Конструктор маршрута

Параметры

  • _ext - Определяет расширения, используемые для этого маршрута.
  • _middleware - Определяет имена middleware для этого маршрута.
  • pass - Копирует перечисленные параметры в params['pass'].
  • _host - Определяет шаблон имени хоста, если этот маршрут должен соответствовать только определённым именам хостов. Можно использовать .* и для создания поддоменных/хостовых подстановок, например, *.example.com соответствует всем поддоменам на example.com.

Параметры

string $template
Строка шаблона с заменителями параметров
array|string $defaults optional []
Значения по умолчанию для маршрута.
array $options optional []
Массив дополнительных опций для маршрута

__set_state()source public static

__set_state( array $fields )

Магический метод для установки состояния для поддержки var_export

Этот метод помогает приложениям, которые хотят реализовать кэширование маршрутизатора.

Параметры

array $fields
Ключ/значение атрибутов объекта

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

Cake\Routing\Route\Route
Новый экземпляр маршрута

_matchMethod()source protected

_matchMethod( array $url )

Проверка соответствия HTTP-метода URL.

Параметры

array $url
Массив для генерируемого URL.

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

boolean

_parseArgs()source protected

_parseArgs( string $args , string $context )

Разбор переданных параметров в список переданных аргументов.

Возвращает true, если заданное именованное $param's $val соответствует заданному $rule в зависимости от $context. В настоящее время реализованы типы правил: контроллер, действие и соответствие, которые могут быть объединены друг с другом.

Параметры

string $args
Строка с переданными параметрами. Например, /1/foo
string $context
Текущий контекст маршрута, который должен содержать ключи контроллера/действия.

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

array
Массив переданных аргументов.

_parseExtension()source protected

_parseExtension( string $url )

Удаление расширения из $url, если он содержит зарегистрированное расширение. Если зарегистрированное расширение не найдено, расширение не возвращается, и URL возвращается без изменений.

Параметры

string $url
URL для разбора.

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

array
содержащий url, extension

_persistParams()source protected

_persistParams( array $url , array $params )

Применение постоянных параметров к массиву URL. Постоянные параметры — это специальный ключ, используемый при создании маршрута, для принудительного сохранения параметров маршрута при их отсутствии в массиве URL.

Параметры

array $url
Массив, к которому применяются постоянные параметры.
array $params
Массив постоянных значений для замены постоянных.

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

array
Массив с применёнными постоянными параметрами.

_writeRoute()source protected

_writeRoute( )

Построение регулярного выражения маршрута.

Использует свойства template, defaults и options для компиляции регулярного выражения, которое можно использовать для разбора строк запроса.

_writeUrl()source protected

_writeUrl( array $params , array $pass = [] , array $query = [] )

Преобразование массива соответствующего маршрута в строку URL.

Составление строки URL с использованием шаблона, использованного для создания маршрута.

Параметры

array $params
Параметры для преобразования в строковый URL
array $pass optional []
Дополнительные переданные аргументы
array $query optional []
Массив параметров

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

string
Составленная строка маршрута.

compile()source public

compile( )

Компиляция регулярного выражения маршрута.

Изменяет свойство defaults, чтобы все необходимые ключи были установлены, и заполняет $this->names именованными элементами маршрутизации.

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

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

compiled()source public

compiled( )

Проверка, был ли маршрут скомпилирован в регулярное выражение.

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

boolean

extensions()source public deprecated

extensions( null|string|array $extensions = null )

Получение/установка поддерживаемых расширений для данного маршрута.

Устарело

3.3.9 Используйте getExtensions/setExtensions вместо этого.

Параметры

null|string|array $extensions optional null
Расширения для установки. Используйте null для получения.

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

array|null
Расширения или null.

getExtensions()source public

getExtensions( )

Получение поддерживаемых расширений для данного маршрута.

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

array
END_OF_DOCUMENT_MARKER ```

getMiddleware()source public

getMiddleware( )

Получить имена middleware, которые должны быть применены к этому маршруту.

Возвращает

array

getName()source public

getName( )

Получить стандартизированное имя plugin.controller:action для маршрута.

Возвращает

string

hostMatches()source public

hostMatches( string $host )

Проверить, соответствует ли хост требованиям маршрута

Параметры

string $host
Имя хоста запроса

Возвращает

boolean
Соответствует ли хост условиям, заданным для этого маршрута.

parse()source public deprecated

parse( string $url , string $method = '' )

Проверить, может ли этот маршрут обработать заданный URL.

Если маршрут может быть обработан, возвращается массив параметров; в противном случае — false. Строковые URL обрабатываются, если они соответствуют регулярному выражению маршрута.

Устаревшее

3.4.0 Используйте/реализуйте parseRequest() вместо него, так как это обеспечивает большую гибкость/контроль.

Параметры

string $url
URL для попытки обработки.
string $method необязательно ''
HTTP-метод запроса, который обрабатывается.

Возвращает

array|false
Массив параметров запроса или false при ошибке.

parseRequest()source public

parseRequest( Psr\Http\Message\ServerRequestInterface $request )

Проверяет, может ли этот маршрут обработать заданный URL.

Если маршрут может быть обработан, возвращается массив параметров; в противном случае — false.

Параметры

Psr\Http\Message\ServerRequestInterface $request
URL для попытки обработки.

Возвращает

array|false
Массив параметров запроса или false при ошибке.

setExtensions()source public

setExtensions( array $extensions )

Установить поддерживаемые расширения для этого маршрута.

Параметры

array $extensions
Расширения для установки.

Возвращает


$this

setHost()source public

setHost( string $host )

Установить требование к хосту.

Параметры

string $host
Имя хоста, к которому привязан этот маршрут

Возвращает


$this

setMethods()source public

setMethods( array $methods )

Установить допустимые HTTP-методы для этого маршрута.

Параметры

array $methods
HTTP-методы для принятия.

Возвращает


$this

Вызывает

InvalidArgumentException

setMiddleware()source public

setMiddleware( array $middleware )

Установить имена middleware, которые должны быть применены к этому маршруту.

Параметры

array $middleware

Список имён middleware, которые необходимо применить к этому маршруту. Имена middleware не будут проверяться, пока маршрут не будет сопоставлен.

Возвращает


$this

setPass()source public

setPass( array $names )

Установить имена параметров, которые будут преобразованы в параметры передачи.

Параметры

array $names
Имена параметров, которые должны быть переданы.

Возвращает


$this

setPatterns()source public

setPatterns( array $patterns )

Установить регулярные выражения для параметров маршрутизации.

Если какие-либо из ваших шаблонов содержат многобайтовые значения, режим multibytePattern будет включён.

Параметры

array $patterns
Шаблоны, применяемые к элементам маршрутизации

Возвращает


$this

setPersist()source public

setPersist( array $names )

Установить имена параметров, которые будут автоматически сохранены.

Параметры сохранения позволяют определить, какие параметры маршрута должны быть автоматически включены при создании новых URL. Вы можете переопределить параметры сохранения, переопределив их в URL или удалить их, установив параметр сохранения в false.

// remove a persistent 'date' parameter
Router::url(['date' => false', ...]);

Параметры

array $names
Имена параметров, которые должны быть переданы.

Возвращает


$this

staticPath()source public

staticPath( )

Получить статическую часть пути для этого маршрута.

Возвращает

string

© 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/3.8/class-Cake.Routing.Route.EntityRoute.html

Spec-Zone.ru

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