Класс ArrayContext
Предоставляет базовый контекст на основе массива для FormHelper.
Этот адаптер полезен при тестировании или когда у вас есть формы, основанные на простых структурах данных массивов.
Важные ключи:
-
dataСодержит текущие значения, предоставленные для полей. -
defaultsЗначения по умолчанию для полей. Эти значения будут использоваться, если данные не заданы. Данные должны быть вложены, следуя точкам с разделителями, которыми вы обращаетесь к своим полям. -
requiredВложенный массив полей, отношений и логических флагов, указывающих, является ли поле обязательным. Значение также может быть строкой, используемой в качестве сообщения об ошибке обязательности. -
schemaМассив данных, эмулирующих структуры столбцов, которые использует Cake\Database\Schema\Schema. Этот массив позволяет управлять выведенным типом для полей и позволяет автоматически генерировать атрибуты, такие как maxlength, step и другие HTML-атрибуты. Если вы хотите, чтобы работала проверка первичного ключа/id, убедитесь, что вы предоставили массив_constraints, содержащийprimary. См. пример ниже. -
errorsМассив ошибок валидации. Ошибки должны быть вложены, следуя точкам с разделителями, которыми вы обращаетесь к своим полям.
Пример
$article = [
'data' => [
'id' => '1',
'title' => 'First post!',
],
'schema' => [
'id' => ['type' => 'integer'],
'title' => ['type' => 'string', 'length' => 255],
'_constraints' => [
'primary' => ['type' => 'primary', 'columns' => ['id']]
]
],
'defaults' => [
'title' => 'Default title',
],
'required' => [
'id' => true, // will use default required message
'title' => 'Please enter a title',
'body' => false,
],
]; Константы
-
string[]VALID_ATTRIBUTES['length', 'precision', 'comment', 'null', 'default']
Краткое описание свойств
- $_context protected
arrayДанные контекста для этого объекта.
Краткое описание методов
-
__construct() public
Конструктор.
-
attributes() public
Получить ассоциативный массив дополнительных атрибутов для имени поля.
-
error() public
Получить ошибки для заданного поля
-
fieldNames() public
Получить имена полей верхнего уровня в данном контексте.
-
getMaxLength() public
Получить длину поля из валидации
-
getPrimaryKey() public
Получить поля, используемые в контексте в качестве первичного ключа.
-
getRequiredMessage() public
Получить стандартное сообщение об ошибке «обязательное» для поля
-
hasError() public
Проверить, есть ли ошибка, связанная с полем
-
isCreate() public
Возвращает значение true, если данная форма предназначена для операции создания.
-
isPrimaryKey() public
Возвращает true, если переданное имя поля является частью первичного ключа для данного контекста
-
isRequired() public
Проверить, является ли заданное поле «обязательным».
-
primaryKey() public deprecated
Получить поля, используемые в контексте в качестве первичного ключа.
-
stripNesting() protected
Удаляет любое числовое вложение
-
type() public
Получить абстрактный тип поля для заданного имени поля.
-
val() public
Получить текущее значение для заданного поля.
Подробное описание методов
__construct() public
__construct(array $context)
Конструктор.
Параметры
-
array$context Информация о контексте.
attributes() public
attributes(string $field): array
Получить ассоциативный массив дополнительных атрибутов для имени поля.
Параметры
-
string$field Точечная нотация пути для получения дополнительных данных.
Возвращает
arrayerror() public
error(string $field): array
Получить ошибки для заданного поля
Параметры
-
string$field Точечная нотация пути для проверки ошибок.
Возвращает
arrayfieldNames() public
fieldNames(): string[]
Получить имена полей верхнего уровня в данном контексте.
Возвращает
string[]getMaxLength() public
getMaxLength(string $field): int|null
Получить длину поля из валидации
В данном классе это просто массив 'length'.
Параметры
-
string$field Точечная нотация пути для проверки обязательности.
Возвращает
int|nullgetPrimaryKey() public
getPrimaryKey(): string[]
Получить поля, используемые в контексте в качестве первичного ключа.
Возвращает
string[]getRequiredMessage() public
getRequiredMessage(string $field): string|null
Получить стандартное сообщение об ошибке «обязательное» для поля
Параметры
-
string$field
Возвращает
string|nullhasError() public
hasError(string $field): bool
Проверить, есть ли ошибка, связанная с полем
Параметры
-
string$field Точечная нотация пути для проверки ошибок.
Возвращает
boolisCreate() public
isCreate(): bool
Возвращает значение true, если данная форма предназначена для операции создания.
Для того, чтобы этот метод возвращал true, ограничение первичного ключа должно быть определено в данных 'schema', а данные 'defaults' должны содержать значение для всех полей в ключе.
Возвращает
boolisPrimaryKey() public
isPrimaryKey(string $field): bool
Возвращает true, если переданное имя поля является частью первичного ключа для данного контекста
Параметры
-
string$field
Возвращает
boolisRequired() public
isRequired(string $field): bool|null
Проверить, является ли заданное поле «обязательным».
В данном классе это просто массив 'required'.
Параметры
-
string$field Точечная нотация пути для проверки обязательности.
Возвращает
bool|nullprimaryKey() public
primaryKey(): string[]
Получить поля, используемые в контексте в качестве первичного ключа.
Возвращает
string[]stripNesting() protected
stripNesting(string $field): string
Удаляет любое числовое вложение
Например, users.0.age будет выведено как users.age
Параметры
-
string$field Точечная нотация пути
Возвращает
stringtype() public
type(string $field): string|null
Получить абстрактный тип поля для заданного имени поля.
Параметры
-
string$field Точечная нотация пути для получения типа схемы.
Возвращает
string|nullСм. также
val() public
val(string $field, array $options = []): mixed
Получить текущее значение для заданного поля.
Этот метод объединяет текущие данные и массив 'defaults'.
Параметры
-
string$field Точечная нотация пути к полю, для которого требуется значение.
-
array$options optional Опции:
Возвращает
mixedПодробное описание свойств
$_context protected
Данные контекста для данного объекта.
Тип
array
© 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/4.2/class-Cake.View.Form.ArrayContext.html