Класс ArrayContext
Предоставляет базовый контекст-провайдер на основе массива для FormHelper.
Этот адаптер полезен при тестировании или когда у вас есть формы, основанные на простых структурах данных массива.
Важные ключи:
-
defaultsЗначения по умолчанию для полей. Эти значения будут использоваться, когда нет данных запроса. Данные должны быть вложены, следуя путям с разделителями точек, с помощью которых вы обращаетесь к своим полям. -
requiredВложенный массив полей, отношений и логических флагов, указывающих, является ли поле обязательным. -
schemaМассив данных, имитирующий структуры столбцов, которые использует Cake\Database\Schema\Table. Этот массив позволяет контролировать выведенный тип для полей и позволяет автоматически генерировать атрибуты, такие как 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!', ] ];
- Cake\View\Form\ArrayContext реализует Cake\View\Form\ContextInterface
Подробное описание методов
__constructsource public
__construct( Cake\Network\Request $request , array $context )
Конструктор.
Параметры
-
Cake\Network\Request$request - Объект запроса.
- массив
$context - Информация о контексте.
attributessource public
attributes( string $field )
Получить ассоциативный массив других атрибутов для имени поля.
Параметры
- строка
$field - Путь с разделителями точек для получения дополнительных данных.
Возвращает
arrayМассив данных, описывающий дополнительные атрибуты поля.
Реализация
Cake\View\Form\ContextInterface::attributes() errorsource public
error( string $field )
Получить ошибки для заданного поля
Параметры
- строка
$field - Путь с разделителями точек для проверки ошибок.
Возвращает
arrayМассив ошибок, пустой массив будет возвращён, если в контексте нет ошибок.
Реализация
Cake\View\Form\ContextInterface::error() fieldNamessource public
fieldNames( )
Получить имена полей верхнего уровня в этом контексте.
Возвращает
arrayСписок имён полей в контексте.
Реализация
Cake\View\Form\ContextInterface::fieldNames() hasErrorsource public
hasError( string $field )
Проверить, есть ли ошибка, прикреплённая к полю
Параметры
- строка
$field - Путь с разделителями точек для проверки ошибок.
Возвращает
booleanВозвращает true, если ошибки для поля не пустые.
Реализация
Cake\View\Form\ContextInterface::hasError() isCreatesource public
isCreate( )
Возвращает, является ли эта форма для операции создания.
Для того, чтобы этот метод вернул true, первичный ключ должен быть определен в данных 'схема', и данные 'значения по умолчанию' должны содержать значение для всех полей в ключе.
Возвращает
booleanbool
Реализация
Cake\View\Form\ContextInterface::isCreate() isPrimaryKeysource public
isPrimaryKey( string $field )
Возвращает true, если переданное имя поля является частью первичного ключа для этого контекста
Параметры
- строка
$field - Путь с разделителями точек к полю, для которого нужно значение.
Возвращает
booleanbool
Реализация
Cake\View\Form\ContextInterface::isPrimaryKey() isRequiredsource public
isRequired( string $field )
Проверить, является ли заданное поле 'обязательным'.
В этом классе контекста это просто определяется массивом 'required'.
Параметры
- строка
$field - Путь с разделителями точек для проверки обязательности.
Возвращает
booleanbool
Реализация
Cake\View\Form\ContextInterface::isRequired() primaryKeysource public
primaryKey( )
Получить поля, используемые в контексте в качестве первичного ключа.
Возвращает
arrayмассив
Реализация
Cake\View\Form\ContextInterface::primaryKey() typesource public
type( string $field )
Получить абстрактный тип поля для данного имени поля.
Параметры
- строка
$field - Путь с разделителями точек для получения типа схемы.
Возвращает
null|stringАбстрактный тип данных или null.
См. также
Cake\Database\TypeРеализация
Cake\View\Form\ContextInterface::type() valsource public
val( string $field )
Получить текущее значение для заданного поля.
Этот метод объединит текущие данные запроса и массив 'значения по умолчанию'.
Параметры
- строка
$field - Путь с разделителями точек к полю, для которого нужно значение.
Возвращает
mixedсмешанный тип
Реализация
Cake\View\Form\ContextInterface::val() Резюме свойств
© 2005–2016 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.
http://api.cakephp.org/3.1/class-Cake.View.Form.ArrayContext.html