Класс EntityContext
Предоставляет контекст формы вокруг одной сущности и её отношений. Также может использоваться в качестве контекста вокруг массива или итератора сущностей.
Этот класс позволяет интерфейсу FormHelper взаимодействовать с сущностями или коллекциями сущностей.
Важные ключи:
-
entityСущность, на которой работает этот контекст. -
tableЛибо экземпляр ORM\Table для получения схемы/валидаторов, массив экземпляров таблиц в случае формы, охватывающей несколько сущностей, либо имя(а) таблицы. Если это null, имя(а) таблицы будет определено с помощью соглашений об именовании. -
validatorЛибо Validation\Validator для использования, либо имя метода валидации для вызова на объекте таблицы. Например, 'default'. По умолчанию 'default'. Может быть массивом алиасов таблиц и соответствующих им валидаторов при работе с связанными формами.
- 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Проверка необходимости помечать поле как обязательное.
- 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 и ResultSet.
Исключения
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 )
Получить конечную сущность для заданного пути.
Этот метод пройдёт по заданному пути и найдёт конечную сущность. Если по пути нет конечной сущности, будет возвращён 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() 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() 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 )
Устанавливает локатор таблиц. Если параметры не переданы, возвращает текущий используемый локатор.
Deprecated
3.5.0 Используйте getTableLocator()/setTableLocator() вместо этого.Параметры
-
Cake\ORM\Locator\LocatorInterface$tableLocatorнеобязательно null - Экземпляр LocatorInterface.
Возвращаемое значение
Cake\ORM\Locator\LocatorInterfaceМагические методы, унаследованные от Cake\View\Form\ContextInterface
getMaxLength(), getRequiredMessage() |
Подробное описание свойств
$_isCollectionsource
protected булево
Булево значение, указывающее, является ли сущность набором.
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.7/class-Cake.View.Form.EntityContext.html