Spec-Zone.ru › CakePHP 4.4

Класс EntityContext

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

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

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

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

Постоянные значения

  • array<string>
    VALID_ATTRIBUTES
    ['length', 'precision', 'comment', 'null', 'default']

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

  • $_context protected
    array<string, mixed>

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

  • $_isCollection protected
    bool

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

  • $_rootName protected
    string

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

  • $_tableLocator protected
    Cake\ORM\Locator\LocatorInterface|null

    Экземпляр локатора таблиц

  • $_tables protected
    arrayCake\ORM\Table>

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

  • $_validator protected
    arrayCake\Validation\Validator>

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

  • $defaultTable protected
    string|null

    Псевдоним таблицы по умолчанию для этого объекта.

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

  • __construct() public

    Конструктор.

  • _extractMultiple() protected

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

  • _getProp() protected

    Чтение значений свойств или обход массивов/итераторов.

  • _getTable() protected

    Получение экземпляра таблицы из пути к свойству

  • _getValidator() protected

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

  • _prepare() protected

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

  • _schemaDefault() protected

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

  • attributes() public

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

  • entity() public

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

  • error() public

    Получение ошибок для заданного поля

  • fetchTable() public

    Удобный метод для получения экземпляра таблицы.

  • fieldNames() public

    Получение имен полей из сущности верхнего уровня.

  • getMaxLength() public

    Получение длины поля из валидации

  • getPrimaryKey() public

    Получение данных первичного ключа для контекста.

  • getRequiredMessage() public

    Получение сообщения об ошибке по умолчанию "required" для поля

  • getTableLocator() public

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

  • hasError() public

    Проверка наличия ошибки, связанной с полем

  • isCreate() public

    Проверка, является ли эта форма формой создания или обновления.

  • isPrimaryKey() public

    Возвращает true, если переданное имя поля является частью первичного ключа для данного контекста

  • isRequired() public

    Проверка, должно ли поле быть отмечено как обязательное.

  • leafEntity() protected

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

  • primaryKey() public deprecated

    Получение данных первичного ключа для контекста.

  • setTableLocator() public

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

  • type() public

    Получение абстрактного типа поля для заданного имени поля.

  • val() public

    Получение значения для заданного пути.

END_OF_DOCUMENT_MARKER

Подробное описание методов

__construct() public

__construct(array<string, mixed> $context)

Конструктор.

Параметры

array<string, mixed> $context

Информация о контексте.

_extractMultiple() protected

_extractMultiple(mixed $values, array<string> $path): array|null

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

Параметры

mixed $values

Список, из которого извлекаются первичные ключи.

array<string> $path

Каждый из элементов пути имени поля.

Возвращает

array|null

_getProp() protected

_getProp(mixed $target, string $field): mixed

Чтение значений свойств или обход массивов/итераторов.

Параметры

mixed $target

Сущность/массив/коллекция для извлечения значения $field.

string $field

Следующее поле для извлечения.

Возвращает

mixed

_getTable() protected

_getTable(Cake\Datasource\EntityInterface|array<string>|string $parts, bool $fallback = true): Cake\ORM\Table|null

Получение экземпляра таблицы из пути свойства.

Параметры

Cake\Datasource\EntityInterface|array<string>|string $parts

Каждый из элементов пути имени поля.

bool $fallback optional

Использовать ли обратное значение к последней найденной таблице при обнаружении несуществующего поля/свойства.

Возвращает

Cake\ORM\Table|null

_getValidator() protected

_getValidator(array $parts): Cake\Validation\Validator

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

Параметры

array $parts

Каждый из элементов пути имени поля.

Возвращает

Cake\Validation\Validator

Исключения

RuntimeException
При невозможности получения валидатора на основе частей.

_prepare() protected

_prepare(): void

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

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

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

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

Возвращает

void

Исключения

RuntimeException
При невозможности найти/определить объект таблицы.

_schemaDefault() protected

_schemaDefault(array<string> $parts): mixed

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

Параметры

array<string> $parts

Каждый из элементов пути имени поля.

Возвращает

mixed

attributes() public

attributes(string $field): array

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

Параметры

string $field

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

Возвращает

array

entity() public

entity(array|null $path = null): Cake\Datasource\EntityInterface|iterable|null

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

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

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

Параметры

array|null $path optional

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

Возвращает

Cake\Datasource\EntityInterface|iterable|null

Исключения

RuntimeException
При невозможности чтения свойств.

error() public

error(string $field): array

Получение ошибок для заданного поля.

Параметры

string $field

Путь с разделителями «точка» для проверки ошибок.

Возвращает

array

fetchTable() public

fetchTable(string|null $alias = null, array<string, mixed> $options = []): Cake\ORM\Table

Удобный метод для получения экземпляра таблицы.

Параметры

string|null $alias optional

Имя псевдонима, которое вы хотите получить. Должно быть в формате CamelCase. Если null то используется значение свойства $defaultTable.

array<string, mixed> $options optional

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

Возвращает

Cake\ORM\Table

Исключения

Cake\Core\Exception\CakeException
Если аргумент `$alias` и свойство `$defaultTable` оба равны `null`.

См. также

\Cake\ORM\TableLocator::get()

fieldNames() public

fieldNames(): array<string>

Получение имён полей из сущности верхнего уровня.

Если контекст относится к массиву сущностей, будет использоваться индекс 0.

Возвращает

array<string>

getMaxLength() public

getMaxLength(string $field): int|null

Получение длины поля из валидации.

Параметры

string $field

Путь с разделителями «точка» к полю, которое вы хотите проверить.

Возвращает

int|null

getPrimaryKey() public

getPrimaryKey(): array<string>

Получение данных первичного ключа для контекста.

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

Возвращает

array<string>

getRequiredMessage() public

getRequiredMessage(string $field): string|null

Получение сообщения об ошибке по умолчанию «обязательное поле» для поля.

Параметры

string $field

Возвращает

string|null

getTableLocator() public

getTableLocator(): Cake\ORM\Locator\LocatorInterface

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

Возвращает

Cake\ORM\Locator\LocatorInterface

hasError() public

hasError(string $field): bool

Проверка наличия ошибки, связанной с полем.

Параметры

string $field

Путь с разделителями «точка» для проверки ошибок.

Возвращает

bool

isCreate() public

isCreate(): bool

Проверка, является ли эта форма для создания или обновления.

Если контекст относится к единственной сущности, используется метод isNew() сущности. Если isNew() возвращает null, предполагается операция создания.

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

Возвращает

bool

isPrimaryKey() public

isPrimaryKey(string $field): bool

Возвращает true, если переданное имя поля является частью первичного ключа для этого контекста.

Параметры

string $field

Возвращает

bool

isRequired() public

isRequired(string $field): bool|null

Проверка, должно ли поле быть помечено как обязательное.

В этом классе это определяется массивом «required».

Параметры

string $field

Путь с разделителями «точка» к полю, которое вы хотите проверить.

Возвращает

bool|null

leafEntity() protected

leafEntity(array|null $path = null): array

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

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

Параметры

array|null $path необязательно

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

Возвращаемое значение

array

Исключения

RuntimeException
При невозможности чтения свойств.

primaryKey() public

primaryKey(): array<string>

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

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

Возвращаемое значение

array<string>

setTableLocator() public

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

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

Параметры

Cake\ORM\Locator\LocatorInterface $tableLocator

Экземпляр LocatorInterface.

Возвращаемое значение

$this

type() public

type(string $field): string|null

Получить абстрактный тип поля для заданного имени поля.

Параметры

string $field

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

Возвращаемое значение

string|null

См. также

\Cake\Database\TypeFactory

val() public

val(string $field, array<string, mixed> $options = []): mixed

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

Проходит по данным сущности и находит значение для $path.

Параметры

string $field

Путь через точки к значению.

array<string, mixed> $options необязательно

Параметры:

Возвращаемое значение

mixed

Подробное описание свойств

$_context protected

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

Тип

array<string, mixed>

$_isCollection protected

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

Тип

bool

$_rootName protected

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

Тип

string

$_tableLocator protected

Экземпляр локатора таблицы.

Тип

Cake\ORM\Locator\LocatorInterface|null

$_tables protected

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

Тип

arrayCake\ORM\Table>

$_validator protected

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

Тип

arrayCake\Validation\Validator>

$defaultTable protected

Псевдоним таблицы по умолчанию для этого объекта.

Тип

string|null

© 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/4.4/class-Cake.View.Form.EntityContext.html

Spec-Zone.ru

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