Spec-Zone.ru › CakePHP 3.4

Класс EntityContext

Предоставляет контекст формы вокруг отдельной сущности и ее отношений. Также может использоваться как контекст вокруг массива или итератора сущностей.

Этот класс позволяет интерфейсу FormHelper взаимодействовать с сущностями или коллекциями сущностей.

Важные ключи:

  • entity Сущность, на которой работает этот контекст.
  • table Либо экземпляр ORM\Table для извлечения схемы/валидаторов, массив экземпляров таблиц в случае формы, охватывающей несколько сущностей, либо имя(а) таблицы. Если это null, имена таблицы будут определены с использованием соглашений об именовании.
  • validator Либо Validation\Validator для использования, либо имя метода валидации для вызова на объекте таблицы. Например, 'default'. По умолчанию 'default'. Может быть массивом, где alias таблицы => валидаторы, при работе с связанными формами.
Cake\View\Form\EntityContext реализует Cake\View\Form\ContextInterface
Пространство имён: Cake\View\Form
Расположение: View/Form/EntityContext.php

Краткое описание свойств

  • $_context protected
    array
    Данные контекста для этого объекта.
  • $_isCollection protected
    boolean

    Логическое значение для отслеживания того, является ли сущность коллекцией.

  • $_request protected
    Cake\Http\ServerRequest
    Объект запроса.
  • $_rootName protected
    string
    Имя объекта сущности/таблицы верхнего уровня.
  • $_tables protected
    array
    Словарь таблиц
  • $_validator protected
    Cake\Validation\Validator[]
    Словарь валидаторов.

Краткое описание методов

  • __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
Сущность.

Возвращает

смешанный
END_OF_DOCUMENT_MARKER

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()

Подробности свойств

$_contextsource

protected массив

Данные контекста для этого объекта.

$_isCollectionsource

protected булево

Булево значение для отслеживания того, является ли сущность коллекцией.

false

$_requestsource

protected Cake\Http\ServerRequest

Объект запроса.

$_rootNamesource

protected строка

Имя объекта сущности верхнего уровня/таблицы.

$_tablessource

protected массив

Словарь таблиц

[]

$_validatorsource

protected Cake\Validation\Validator[]

Словарь валидаторов.

[]

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API