Класс EntityContext
Предоставляет контекст формы вокруг одной сущности и её отношений. Также может использоваться как контекст вокруг массива или итератора сущностей.
Этот класс позволяет интерфейсу FormHelper взаимодействовать с сущностями или коллекциями сущностей.
Важные ключи:
-
entityСущность, над которой работает этот контекст. -
tableОбъект ORM\Table для получения схемы/валидаторов, массив объектов таблиц в случае формы, охватывающей несколько сущностей, или имя(а) таблицы. Если это null, имя(а) таблицы будут определены с использованием соглашений об именовании. -
validatorВалидатор Validation\Validator или имя метода валидации для вызова на объекте таблицы. Например, 'default'. По умолчанию 'default'. Может быть массивом, где alias таблицы => валидаторы, при работе с связанными формами.
- Cake\View\Form\EntityContext реализует Cake\View\Form\ContextInterface использует Cake\ORM\Locator\LocatorAwareTrait
Краткое описание свойств
-
$_contextprotectedДанные контекста для этого объекта.array -
$_isCollectionprotectedbooleanЛогическое значение для отслеживания того, является ли сущность коллекцией.
- Объект запроса.
$_requestprotected -
$_rootNameprotectedИмя объекта сущности/таблицы верхнего уровня.string -
$_tablesprotectedСловарь таблиц.array - Словарь валидаторов.
$_validatorprotected
Унаследованные свойства
Краткое описание методов
- __construct() publicКонструктор.
- _extractMultiple() protected
Вспомогательный метод для извлечения всех значений первичного ключа из массива. Столбец первичного ключа угадывается из предоставленного массива $path.
- _getProp() protectedЧтение значений свойств или обход массивов/итераторов.
- _getTable() protectedПолучение объекта таблицы из пути свойства.
- _getValidator() protected
Получение валидатора, связанного с сущностью, на основе соглашений об именовании.
- _prepare() protectedПодготовка дополнительных данных из контекста.
- _schemaDefault() protectedПолучение значения по умолчанию из схемы таблицы для указанного поля сущности.
- attributes() publicПолучение ассоциативного массива других атрибутов для имени поля.
- entity() publicПолучение сущности или значения данных для заданного пути.
- error() publicПолучение ошибок для заданного поля.
- fieldNames() publicПолучение имён полей из сущности верхнего уровня.
- getMaxLength() publicПолучение длины поля из валидации.
- getRequiredMessage() public
- hasError() publicПроверка наличия ошибки, связанной с полем.
- isCreate() publicПроверка того, является ли форма созданием или обновлением.
- isPrimaryKey() publicВозвращает true, если переданное имя поля является частью первичного ключа для этого контекста.
- isRequired() publicПроверка, должно ли поле отмечаться как обязательное.
- leafEntity() protectedПолучение конечной или листовой сущности для заданного пути.
- primaryKey() publicПолучение данных первичного ключа для контекста.
- type() publicПолучение абстрактного типа поля для заданного имени поля.
- val() publicПолучение значения для заданного пути.
Подробное описание методов
__construct()source public
__construct( Cake\Http\ServerRequest $request , array $context )
Конструктор.
Параметры
-
Cake\Http\ServerRequest$request - Объект запроса.
- массив
$context - Информация контекста.
_extractMultiple()source protected
_extractMultiple( array|Traversable $values , array $path )
Вспомогательный метод для извлечения всех значений первичного ключа из массива. Столбец первичного ключа угадывается из предоставленного массива $path.
Параметры
- массив|Перечисляемый
$values - Список, из которого извлекаются первичные ключи
- массив
$path - Каждый из элементов в пути к имени поля
Возвращает
массив|null_getProp()source protected
_getProp( mixed $target , string $field )
Чтение значений свойств или обход массивов/итераторов.
Параметры
- смешанное
$target - Сущность/массив/коллекция для извлечения $field.
- строка
$field - Следующее поле для извлечения.
Возвращает
смешанное_getTable()source protected
_getTable( array $parts , boolean $fallback = true )
Получение объекта таблицы из пути свойства
Параметры
- массив
$parts - Каждый из элементов в пути к имени поля
- логическое
$fallbackнеобязательно true Использовать ли резервную таблицу, когда встречается несуществующее поле/свойство.
Возвращает
Cake\ORM\Table|логическоеОбъект таблицы или false
_getValidator()source protected
_getValidator( array $parts )
Получение валидатора, связанного с сущностью, на основе соглашений об именовании.
Параметры
- массив
$parts - Каждый из элементов в пути к имени поля
Возвращает
Cake\Validation\Validator_prepare()source protected
_prepare( )
Подготовка дополнительных данных из контекста.
Если параметр таблицы был передан в конструктор и представлял собой строку, будет использован TableLocator для получения соответствующего объекта таблицы.
Если параметром таблицы был объект, он будет использован как есть.
Если параметр таблицы не указан, имя таблицы будет получено на основе соглашений об именовании. Это вычисление будет работать с несколькими общими объектами, такими как массивы, объекты Collection и ResultSets.
Исключения
Исключение RuntimeExceptionВ случае, если объект таблицы не может быть найден/вычислен.
_schemaDefault()source protected
_schemaDefault( array $parts )
Получение значения по умолчанию из схемы таблицы для указанного поля сущности.
Параметры
- массив
$parts - Каждый из элементов в пути к имени поля
Возвращает
смешанноеattributes()source public
attributes( string $field )
Получить ассоциативный массив дополнительных атрибутов для имени поля.
Параметры
- строка
$field - Путь с разделителем «.» для получения дополнительных данных.
Возвращает
массивМассив данных, описывающих дополнительные атрибуты поля.
Реализация
Cake\View\Form\ContextInterface::attributes() entity()source public
entity( array|null $path = null )
Получить сущность или значение данных для заданного пути.
Этот метод будет проходить по заданному пути и находить значение сущности или массива для заданного пути.
Если вам нужна только конечная сущность для пути, используйте leafEntity вместо этого.
Параметры
- массив|null
$pathнеобязательно null Каждый из элементов в пути для имени поля или null для получения сущности, переданной в контексте конструктора.
Возвращает
Cake\Datasource\EntityInterface|Перечисляемый|массив|логическое значениеИсключения
RuntimeExceptionКогда свойства не могут быть прочитаны.
error()source public
error( string $field )
Получить ошибки для заданного поля
Параметры
- строка
$field - Путь с разделителем «.» для проверки ошибок.
Возвращает
массивМассив ошибок.
Реализация
Cake\View\Form\ContextInterface::error() fieldNames()source public
fieldNames( )
Получить имена полей из сущности верхнего уровня.
Если контекст относится к массиву сущностей, будет использоваться индекс 0.
Возвращает
массивМассив имён полей в таблице/сущности.
Реализация
Cake\View\Form\ContextInterface::fieldNames() getMaxLength()source public
getMaxLength( string $field )
Получить длину поля из валидации
Параметры
- строка
$field - Путь с разделителем «.» к полю, которое нужно проверить.
Возвращает
целое число|nullgetRequiredMessage()source public
getRequiredMessage( $field )
hasError()source public
hasError( string $field )
Проверить, есть ли ошибка, связанная с полем
Параметры
- строка
$field - Путь с разделителем «.» для проверки ошибок.
Возвращает
логическое значениеВозвращает true, если ошибки для поля не пустые.
Реализация
Cake\View\Form\ContextInterface::hasError() isCreate()source public
isCreate( )
Проверить, является ли эта форма созданием или обновлением.
Если контекст относится к одной сущности, будет использоваться метод isNew() сущности. Если isNew() возвращает null, предполагается операция создания.
Если контекст относится к коллекции или массиву, будет использоваться первый объект в коллекции.
Возвращает
логическое значениеРеализация
Cake\View\Form\ContextInterface::isCreate() isPrimaryKey()source public
isPrimaryKey( string $field )
Возвращает true, если переданное имя поля является частью первичного ключа для этого контекста
Параметры
- строка
$field Путь с разделителем «.» к полю, для которого требуется значение.
Возвращает
логическое значениеРеализация
Cake\View\Form\ContextInterface::isPrimaryKey() isRequired()source public
isRequired( string $field )
Проверить, должно ли поле быть помечено как обязательное.
Параметры
- строка
$field - Путь с разделителем «.» к полю, которое нужно проверить.
Возвращает
логическое значениеРеализация
Cake\View\Form\ContextInterface::isRequired() leafEntity()source protected
leafEntity( array|null $path = null )
Получить конечную или листовую сущность для заданного пути.
Проходить по пути, пока не найдется сущность. Списки, содержащие сущности, будут пройдены, если первый элемент содержит сущность. В противном случае предполагается, что содержащая сущность является конечной.
Параметры
- массив|null
$pathнеобязательно null Каждый из элементов в пути для имени поля или null для получения сущности, переданной в контексте конструктора.
Возвращает
массивСодержащий найденную сущность и оставшийся несопоставленный путь.
Исключения
RuntimeExceptionКогда свойства не могут быть прочитаны.
primaryKey()source public
primaryKey( )
Получить данные первичного ключа для контекста.
Получает столбцы первичного ключа из схемы корневой сущности.
Возвращает
массивРеализация
Cake\View\Form\ContextInterface::primaryKey() type()source public
type( string $field )
Получить абстрактный тип поля для заданного имени поля.
Параметры
- строка
$field - Путь с разделителем «.» для получения типа схемы.
Возвращает
null|строкаАбстрактный тип данных или null.
См.
Cake\Database\TypeРеализация
Cake\View\Form\ContextInterface::type() val()source public
val( string $field , array $options = [] )
Получить значение для заданного пути.
Проходит по данным сущности и находит значение для $path.
Параметры
- строка
$field - Путь с разделителем «.» к значению.
- массив
$optionsнеобязательно [] Параметры: -
default: Значение по умолчанию, которое будет возвращено, если значение не найдено в данных запроса или сущности. -schemaDefault: Логическое значение, указывающее, должно ли использоваться значение по умолчанию из схемы таблицы, если оно не предоставлено явно.
Возвращает
смешанный типЗначение поля или null при ошибке.
Реализация
Cake\View\Form\ContextInterface::val() Методы, используемые из Cake\ORM\Locator\LocatorAwareTrait
getTableLocator()source public
getTableLocator( )
Получить локатор таблиц.
Возвращает
Cake\ORM\Locator\LocatorInterfacesetTableLocator()source public
setTableLocator( Cake\ORM\Locator\LocatorInterface $tableLocator )
Установить локатор таблиц.
Параметры
-
Cake\ORM\Locator\LocatorInterface$tableLocator - Экземпляр LocatorInterface.
Возвращает
$this
tableLocator()source public deprecated
tableLocator( Cake\ORM\Locator\LocatorInterface $tableLocator = null )
Устанавливает локатор таблиц. Если параметры не переданы, он вернёт текущий локатор.
Устарело
3.5.0 Используйте getTableLocator()/setTableLocator() вместо этого.Параметры
-
Cake\ORM\Locator\LocatorInterface$tableLocatorнеобязательно null - Экземпляр LocatorInterface.
Возвращает
Cake\ORM\Locator\LocatorInterfaceМагические методы, унаследованные от Cake\View\Form\ContextInterface
getMaxLength(), getRequiredMessage() |
Подробности свойств
$_isCollectionsource
protected boolean
Булево значение, определяющее, является ли сущность коллекцией.
false
© 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.View.Form.EntityContext.html