Класс EntityContext
Предоставляет контекст формы вокруг отдельной сущности и ее отношений. Также может использоваться как контекст вокруг массива или итератора сущностей.
Этот класс позволяет интерфейсу FormHelper взаимодействовать с сущностями или коллекциями сущностей.
Важные ключи:
-
entityСущность, над которой работает этот контекст. -
tableЛибо экземпляр ORM\Table для извлечения схемы/валидаторов, массив экземпляров таблиц в случае формы, охватывающей несколько сущностей, или имя(а) таблицы. Если это null, имя(а) таблицы будут определены с помощью соглашений об именовании. -
validatorЛибо Validation\Validator для использования, либо имя метода валидации для вызова на объекте таблицы. Например, 'default'. По умолчанию 'default'. Может быть массивом алиас_таблицы=>валидаторы при работе с связанными формами.
- Cake\View\Form\EntityContext реализует Cake\View\Form\ContextInterface
Резюме свойств
-
$_contextprotectedДанные контекста для этого объекта.array -
$_isCollectionprotectedbooleanБулево значение для отслеживания того, является ли сущность коллекцией.
- Объект запроса.
$_requestprotected -
$_rootNameprotectedИмя объекта сущности/таблицы верхнего уровня.string -
$_tablesprotectedСловарь таблицarray
Резюме методов
- __construct() publicКонструктор.
- _extractMultiple() protected
Вспомогательный метод для извлечения всех значений первичного ключа из массива. Столбец первичного ключа угадывается из предоставленного массива $path.
- _getProp() protectedЧтение значений свойств или обход массивов/итераторов.
- _getTable() protectedПолучение экземпляра таблицы из пути к свойству.
- _getValidator() protected
Получение валидатора, связанного с сущностью, на основе соглашений об именовании.
- _prepare() protectedПодготовка дополнительных данных из контекста.
- _schemaDefault() protectedПолучение значения по умолчанию из схемы таблицы для заданного поля сущности.
- attributes() publicПолучение ассоциативного массива дополнительных атрибутов для имени поля.
- entity() publicПолучение листовой сущности для заданного пути.
- error() publicПолучение ошибок для заданного поля.
- fieldNames() publicПолучение имен полей из сущности верхнего уровня.
- hasError() publicПроверка наличия ошибки, связанной с полем.
- isCreate() publicПроверка того, является ли эта форма формой создания или обновления.
- isPrimaryKey() publicВозвращает true, если переданное имя поля является частью первичного ключа для этого контекста.
- isRequired() publicПроверка, должно ли поле отмечаться как обязательное.
- primaryKey() publicПолучение данных первичного ключа для контекста.
- type() publicПолучение абстрактного типа поля для заданного имени поля.
- val() publicПолучение значения для заданного пути.
Подробное описание методов
__construct()source public
__construct( Cake\Network\Request $request , array $context )
Конструктор.
Параметры
-
Cake\Network\Request$request - Объект запроса.
- массив
$context - Информация о контексте.
_extractMultiple()source protected
_extractMultiple( array|Traversable $values , array $path )
Вспомогательный метод для извлечения всех значений первичного ключа из массива. Столбец первичного ключа угадывается из предоставленного массива $path.
Параметры
- массив|Traversable
$values - Список, из которого нужно извлечь первичные ключи.
- массив
$path - Каждая часть пути к имени поля.
Возвращает
массив_getProp()source protected
_getProp( mixed $target , string $field )
Чтение значений свойств или обход массивов/итераторов.
Параметры
- смешанный
$target - Сущность/массив/коллекция для извлечения $field.
- строка
$field - Следующее поле для извлечения.
Возвращает
смешанный_getTable()source protected
_getTable( array $parts , boolean $rootFallback true )
Получение экземпляра таблицы из пути к свойству.
Параметры
- массив
$parts - Каждая часть пути к имени поля.
- булево
$rootFallbackопционально true - Переключатель для возврата к корневой сущности.
Возвращает
Cake\ORM\Table|булевоЭкземпляр таблицы или false
_getValidator()source protected
_getValidator( array $parts )
Получение валидатора, связанного с сущностью, на основе соглашений об именовании.
Параметры
- массив
$parts - Каждая часть пути к имени поля.
Возвращает
Cake\Validation\Validator_prepare()source protected
_prepare( )
Подготовка дополнительных данных из контекста.
Если для опции table был передан строковый параметр в конструктор, ORM\TableRegistry будет использован для получения правильного экземпляра таблицы.
Если в качестве опции table был передан объект, он будет использован как есть.
Если опция table не была передана, имя таблицы будет определено на основе соглашений об именовании. Эта инференция будет работать с рядом общих объектов, таких как массивы, объекты Collection и ResultSets.
Выбрасывает
Исключение RuntimeExceptionВ случае невозможности найти/вывести объект таблицы.
_schemaDefault()source protected
_schemaDefault( string $field , Cake\Datasource\EntityInterface $entity )
Получение значения по умолчанию из схемы таблицы для заданного поля сущности.
Параметры
- строка
$field - Имя поля.
-
Cake\Datasource\EntityInterface$entity - Сущность.
Возвращает
смешанныйattributes()source public
attributes( string $field )
Получение ассоциативного массива дополнительных атрибутов для имени поля.
Параметры
- строка
$field - Путь, разделяемый точками, для получения дополнительных данных.
Возвращает
массивМассив данных, описывающих дополнительные атрибуты поля.
Реализация
Cake\View\Form\ContextInterface::attributes() entity()source public
entity( array|null $path null )
Получить сущность для заданного пути.
Этот метод пройдёт по заданному пути и найдёт конечную сущность. Если путь не содержит конечной сущности, будет возвращено false.
Параметры
- массив|null
$pathнеобязательно null Каждый из элементов пути для имени поля или null, чтобы получить сущность, переданную в контексте конструктора.
Возвращает
Cake\Datasource\EntityInterface|Обходной элемент|массив|booleanИсключения
RuntimeExceptionПри невозможности чтения свойств.
error()source public
error( string $field )
Получить ошибки для заданного поля
Параметры
- строка
$field - Путь с разделителем «.» для проверки ошибок.
Возвращает
массивМассив ошибок.
Реализация
Cake\View\Form\ContextInterface::error() fieldNames()source public
fieldNames( )
Получить имена полей из основной сущности.
Если контекст относится к массиву сущностей, будет использоваться элемент с индексом 0.
Возвращает
массивМассив имён полей в таблице/сущности.
Реализация
Cake\View\Form\ContextInterface::fieldNames() hasError()source public
hasError( string $field )
Проверить наличие ошибки для поля
Параметры
- строка
$field - Путь с разделителем «.» для проверки ошибок.
Возвращает
booleanВозвращает true, если ошибки для поля не пустые.
Реализация
Cake\View\Form\ContextInterface::hasError() isCreate()source public
isCreate( )
Проверить, является ли эта форма формой создания или редактирования.
Если контекст относится к одной сущности, будет использоваться метод isNew() сущности. Если isNew() возвращает null, предполагается операция создания.
Если контекст относится к коллекции или массиву, будет использоваться первый объект в коллекции.
Возвращает
booleanРеализация
Cake\View\Form\ContextInterface::isCreate() isPrimaryKey()source public
isPrimaryKey( string $field )
Возвращает true, если переданное имя поля является частью первичного ключа для данного контекста
Параметры
- строка
$field Путь с разделителем «.» к полю, для которого требуется значение.
Возвращает
booleanРеализация
Cake\View\Form\ContextInterface::isPrimaryKey() isRequired()source public
isRequired( string $field )
Проверить, должно ли поле быть отмечено как обязательное.
Параметры
- строка
$field - Путь с разделителем «.» к полю, которое нужно проверить.
Возвращает
booleanРеализация
Cake\View\Form\ContextInterface::isRequired() 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() Подробности свойств
$_isCollectionsource
protected boolean
Булево значение, показывающее, является ли сущность коллекцией.
false
© 2005–2017 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.3/class-Cake.View.Form.EntityContext.html