Класс EntityContext
Предоставляет контекст формы вокруг отдельной сущности и ее отношений. Также может использоваться как контекст вокруг массива или итератора сущностей.
Этот класс позволяет интерфейсу FormHelper взаимодействовать с сущностями или коллекциями сущностей.
Важные ключи:
-
entityСущность, на которой работает этот контекст. -
tableЛибо экземпляр ORM\Table для извлечения схемы/валидаторов, массив экземпляров таблиц в случае формы, охватывающей несколько сущностей, либо имя(а) таблицы. Если это null, имена таблицы будут определены с использованием соглашений об именовании. -
validatorЛибо Validation\Validator для использования, либо имя метода валидации для вызова на объекте таблицы. Например, 'default'. По умолчанию 'default'. Может быть массивом, где alias таблицы => валидаторы, при работе с связанными формами.
- Cake\View\Form\EntityContext реализует Cake\View\Form\ContextInterface
Краткое описание свойств
-
$_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Получение имён полей из сущности верхнего уровня.
- hasError() publicПроверка наличия ошибки, связанной с полем
- isCreate() publicПроверка того, является ли эта форма созданием или обновлением.
- isPrimaryKey() publicВозвращает true, если переданное имя поля является частью первичного ключа для этого контекста
- isRequired() publicПроверка, должно ли поле отмечаться как обязательное.
- 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|логическоеЭкземпляр таблицы или ложь
_getValidator()source protected
_getValidator( array $parts )
Получение валидатора, связанного с сущностью, на основе соглашений об именовании.
Параметры
- массив
$parts - Каждая часть из пути к имени поля
Возвращает
Cake\Validation\Validator_prepare()source protected
_prepare( )
Подготовка дополнительных данных из контекста.
Если опция таблицы была передана в конструктор и это была строка, ORM\TableRegistry будет использоваться для получения нужного экземпляра таблицы.
Если в качестве опции таблицы передается объект, он будет использоваться как есть.
Если опция таблицы не указана, имя таблицы будет определено на основе соглашений об именовании. Эта инференция будет работать с рядом распространенных объектов, таких как массивы, объекты 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|Перебираемый объект|массив|булевоИсключения
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 - Путь, разделенный точками, для проверки ошибок.
Возвращает
булевоВозвращает 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() 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 булево
Булево значение для отслеживания того, является ли сущность коллекцией.
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.4/class-Cake.View.Form.EntityContext.html