Spec-Zone.ru › CakePHP 3.8

Класс EntityContext

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

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

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

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

Унаследованные свойства

  • _tableLocator

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

  • __construct() public
    Конструктор.
  • _extractMultiple() protected

    Вспомогательный метод для извлечения всех значений первичного ключа из массива. Столбец первичного ключа угадывается из предоставленного массива $path.

  • _getProp() protected
    Чтение значений свойств или обход массивов/итераторов.
  • _getTable() protected
    Получение объекта таблицы из пути свойства.
  • _getValidator() protected

    Получение валидатора, связанного с сущностью, на основе соглашений об именовании.

  • _prepare() protected
    Подготовка дополнительных данных из контекста.
  • _schemaDefault() protected
    Получение значения по умолчанию из схемы таблицы для указанного поля сущности.
  • attributes() public
    Получение ассоциативного массива других атрибутов для имени поля.
  • entity() public
    Получение сущности или значения данных для заданного пути.
  • error() public
    Получение ошибок для заданного поля.
  • fieldNames() public
    Получение имён полей из сущности верхнего уровня.
  • getMaxLength() public
    Получение длины поля из валидации.
  • getRequiredMessage() public
  • hasError() public
    Проверка наличия ошибки, связанной с полем.
  • isCreate() public
    Проверка того, является ли форма созданием или обновлением.
  • isPrimaryKey() public
    Возвращает true, если переданное имя поля является частью первичного ключа для этого контекста.
  • isRequired() public
    Проверка, должно ли поле отмечаться как обязательное.
  • leafEntity() protected
    Получение конечной или листовой сущности для заданного пути.
  • 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|логическое
Объект таблицы или false

_getValidator()source protected

_getValidator( array $parts )

Получение валидатора, связанного с сущностью, на основе соглашений об именовании.

Параметры

массив $parts
Каждый из элементов в пути к имени поля

Возвращает

Cake\Validation\Validator

_prepare()source protected

_prepare( )

Подготовка дополнительных данных из контекста.

Если параметр таблицы был передан в конструктор и представлял собой строку, будет использован TableLocator для получения соответствующего объекта таблицы.

Если параметром таблицы был объект, он будет использован как есть.

Если параметр таблицы не указан, имя таблицы будет получено на основе соглашений об именовании. Это вычисление будет работать с несколькими общими объектами, такими как массивы, объекты Collection и ResultSets.

Исключения

Исключение RuntimeException
В случае, если объект таблицы не может быть найден/вычислен.

_schemaDefault()source protected

_schemaDefault( array $parts )

Получение значения по умолчанию из схемы таблицы для указанного поля сущности.

Параметры

массив $parts
Каждый из элементов в пути к имени поля

Возвращает

смешанное

attributes()source public

attributes( string $field )

Получить ассоциативный массив дополнительных атрибутов для имени поля.

Параметры

строка $field
Путь с разделителем «.» для получения дополнительных данных.

Возвращает

массив
Массив данных, описывающих дополнительные атрибуты поля.

Реализация

Cake\View\Form\ContextInterface::attributes()

entity()source public

entity( array|null $path = null )

Получить сущность или значение данных для заданного пути.

Этот метод будет проходить по заданному пути и находить значение сущности или массива для заданного пути.

Если вам нужна только конечная сущность для пути, используйте leafEntity вместо этого.

Параметры

массив|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()

getMaxLength()source public

getMaxLength( string $field )

Получить длину поля из валидации

Параметры

строка $field
Путь с разделителем «.» к полю, которое нужно проверить.

Возвращает

целое число|null

getRequiredMessage()source public

getRequiredMessage( $field )

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

leafEntity()source protected

leafEntity( array|null $path = null )

Получить конечную или листовую сущность для заданного пути.

Проходить по пути, пока не найдется сущность. Списки, содержащие сущности, будут пройдены, если первый элемент содержит сущность. В противном случае предполагается, что содержащая сущность является конечной.

Параметры

массив|null $path необязательно null

Каждый из элементов в пути для имени поля или null для получения сущности, переданной в контексте конструктора.

Возвращает

массив
Содержащий найденную сущность и оставшийся несопоставленный путь.

Исключения

RuntimeException
Когда свойства не могут быть прочитаны.

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

Методы, используемые из Cake\ORM\Locator\LocatorAwareTrait

getTableLocator()source public

getTableLocator( )

Получить локатор таблиц.

Возвращает

Cake\ORM\Locator\LocatorInterface

setTableLocator()source public

setTableLocator( Cake\ORM\Locator\LocatorInterface $tableLocator )

Установить локатор таблиц.

Параметры

Cake\ORM\Locator\LocatorInterface $tableLocator
Экземпляр LocatorInterface.

Возвращает


$this

tableLocator()source public deprecated

tableLocator( Cake\ORM\Locator\LocatorInterface $tableLocator = null )

Устанавливает локатор таблиц. Если параметры не переданы, он вернёт текущий локатор.

Устарело

3.5.0 Используйте getTableLocator()/setTableLocator() вместо этого.

Параметры

Cake\ORM\Locator\LocatorInterface $tableLocator необязательно null
Экземпляр LocatorInterface.

Возвращает

Cake\ORM\Locator\LocatorInterface

Магические методы, унаследованные от Cake\View\Form\ContextInterface

getMaxLength(), getRequiredMessage()

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

$_contextsource

protected массив

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

$_isCollectionsource

protected boolean

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

false

$_requestsource

protected Cake\Http\ServerRequest

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

$_rootNamesource

protected string

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

$_tablessource

protected array

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

[]

$_validatorsource

protected Cake\Validation\Validator[]

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

[]

© 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.EntityContext.html

Spec-Zone.ru

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