Spec-Zone.ru › CakePHP 3.5

Класс 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–2018 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.5/class-Cake.View.Form.EntityContext.html

Spec-Zone.ru

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