Класс ArrayContext
Предоставляет базовый контекст поставщика на основе массива для FormHelper.
Этот адаптер полезен при тестировании или когда у вас есть формы, основанные на простых структурах данных массивов.
Важные ключи:
-
defaultsЗначения по умолчанию для полей. Эти значения будут использованы, когда нет данных запроса. Данные должны быть вложены, следуя разделенным точками путям, с помощью которых вы обращаетесь к своим полям. -
requiredВложенный массив полей, взаимосвязей и логических флагов, указывающих, является ли поле обязательным. Значение также может быть строкой, используемой в качестве сообщения об ошибке обязательности. -
schemaМассив данных, имитирующий структуры столбцов, которые использует Cake\Database\Schema\Schema. Этот массив позволяет контролировать выведенный тип для полей и позволяет автоматически генерировать атрибуты, такие как maxlength, step и другие атрибуты HTML. Если вы хотите, чтобы работала детекция первичного ключа/id, убедитесь, что вы предоставили массив_constraints, содержащийprimary. Ниже приведен пример. -
errorsМассив сообщений об ошибках валидации. Ошибки должны быть вложены, следуя разделенным точками путям, с помощью которых вы обращаетесь к своим полям.Пример
$data = [ 'schema' => [ 'id' => ['type' => 'integer'], 'title' => ['type' => 'string', 'length' => 255], '_constraints' => [ 'primary' => ['type' => 'primary', 'columns' => ['id']] ] ], 'defaults' => [ 'id' => 1, 'title' => 'First post!', ], 'required' => [ 'id' => true, // will use default required message 'title' => 'Please enter a title', 'body' => false, ], ];
- Cake\View\Form\ArrayContext реализует Cake\View\Form\ContextInterface
Резюме свойств
Резюме методов
- __construct() publicКонструктор.
- attributes() publicПолучение ассоциативного массива дополнительных атрибутов для имени поля.
- error() publicПолучение сообщений об ошибках для указанного поля
- fieldNames() publicПолучение имён полей верхнего уровня в этом контексте.
- getMaxLength() publicПолучение длины поля из валидации
- getRequiredMessage() public
- hasError() publicПроверка наличия сообщения об ошибке у поля
- isCreate() publicВозвращает значение, указывающее, предназначена ли эта форма для операции создания.
- isPrimaryKey() publicВозвращает true, если переданное имя поля является частью первичного ключа для этого контекста
- isRequired() publicПроверка, является ли заданное поле 'обязательным'.
- primaryKey() publicПолучение полей, используемых в контексте в качестве первичного ключа.
- stripNesting() protectedУдаляет любое числовое вложение
- type() publicПолучение абстрактного типа поля для заданного имени поля.
- val() publicПолучение текущего значения для заданного поля.
Подробное описание методов
__construct()source public
__construct( Cake\Http\ServerRequest $request , array $context )
Конструктор.
Параметры
-
Cake\Http\ServerRequest$request - Объект запроса.
- массив
$context - Информация о контексте.
attributes()source public
attributes( string $field )
Получение ассоциативного массива дополнительных атрибутов для имени поля.
Параметры
- строка
$field - Путь, разделенный точками, для получения дополнительных данных.
Возвращает
массивМассив данных, описывающих дополнительные атрибуты поля.
Реализация
Cake\View\Form\ContextInterface::attributes() error()source public
error( string $field )
Получение сообщений об ошибках для указанного поля
Параметры
- строка
$field - Путь, разделенный точками, для проверки ошибок.
Возвращает
массивМассив сообщений об ошибках, пустой массив возвращается, когда в контексте нет ошибок.
Реализация
Cake\View\Form\ContextInterface::error() fieldNames()source public
fieldNames( )
Получение имён полей верхнего уровня в этом контексте.
Возвращает
массив строкСписок имён полей в контексте.
Реализация
Cake\View\Form\ContextInterface::fieldNames() getMaxLength()source public
getMaxLength( string $field )
Получение длины поля из валидации
В этом классе контекста это просто определяется массивом 'length'.
Параметры
- строка
$field - Путь, разделенный точками, для проверки обязательности.
Возвращает
целое число или nullgetRequiredMessage()source public
getRequiredMessage( $field )
hasError()source public
hasError( string $field )
Проверка наличия сообщения об ошибке у поля
Параметры
- строка
$field - Путь, разделенный точками, для проверки ошибок.
Возвращает
booleanВозвращает true, если сообщения об ошибках для поля не пустые.
Реализация
Cake\View\Form\ContextInterface::hasError() isCreate()source public
isCreate( )
Возвращает значение, указывающее, предназначена ли эта форма для операции создания.
Для того, чтобы этот метод возвращал true, в данных 'schema' должен быть определен первичный ключ, а в данных 'defaults' должны содержаться значения для всех полей в ключе.
Возвращает
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 )
Проверка, является ли заданное поле 'обязательным'.
В этом классе контекста это просто определяется массивом 'required'.
Параметры
- строка
$field - Путь, разделенный точками, для проверки обязательности.
Возвращает
booleanРеализация
Cake\View\Form\ContextInterface::isRequired() primaryKey()source public
primaryKey( )
Получение полей, используемых в контексте в качестве первичного ключа.
Возвращает
массивРеализация
Cake\View\Form\ContextInterface::primaryKey() stripNesting()source protected
stripNesting( string $field )
Удаляет любое числовое вложение
Например, users.0.age выведет как users.age
Параметры
- строка
$field - Путь, разделенный точками
Возвращает
строкаСтрока с удалённым числовым вложением
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 = [] )
Получить текущее значение для заданного поля.
Этот метод объединяет текущие данные запроса и массив «defaults».
Параметры
- строка
$field Путь с разделителем «.» к полю, для которого требуется значение.
- массив
$optionsнеобязательно [] Параметры: -
default: Значение по умолчанию, которое будет возвращено, если значение не найдено в данных запроса или записи контекста. -schemaDefault: Булево значение, указывающее, следует ли использовать значение по умолчанию из схемы контекста, если оно явно не указано.
Возвращаемое значение
смешанный типРеализация
Cake\View\Form\ContextInterface::val() Магические методы, унаследованные от Cake\View\Form\ContextInterface
getMaxLength(), getRequiredMessage() |
Подробности свойств
© 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.ArrayContext.html