Класс TimestampBehavior
Класс TimestampBehavior
Краткое описание свойств
- $_config protected
array<string, mixed>Конфигурация выполнения
- $_configInitialized protected
boolУказание, была ли конфигурация уже настроена по умолчанию
- $_defaultConfig protected
array<string, mixed>Конфигурация по умолчанию
- $_reflectionCache protected static
array<string, array>Кэш методов рефлексии для поведений.
- $_table protected
Cake\ORM\TableЭкземпляр таблицы.
- $_ts protected
Cake\I18n\FrozenTime|nullТекущая метка времени
Краткое описание методов
-
__construct() public
Конструктор
-
_configDelete() protected
Удаляет один ключ конфигурации.
-
_configRead() protected
Считывает значение ключа конфигурации.
-
_configWrite() protected
Записывает значение ключа конфигурации.
-
_reflectionCache() protected
Получение методов, реализованных этим поведением
-
_resolveMethodAliases() protected
Удаляет алиасы методов, которые в противном случае будут дублироваться конфигурацией пользователя.
-
_updateField() protected
Обновление поля, если оно ещё не было обновлено
-
configShallow() public
Объединяет предоставленную конфигурацию с существующей. В отличие от
config(), которая выполняет рекурсивное объединение для вложенных ключей, этот метод выполняет простое объединение. -
getConfig() public
Возвращает конфигурацию.
-
getConfigOrFail() public
Возвращает конфигурацию для определенного ключа.
-
getTable() public deprecated
Получить экземпляр таблицы, к которой привязано это поведение.
-
handleEvent() public
Существует только один обработчик событий, который может быть настроен для вызова для любого события
-
implementedEvents() public
implementedEvents
-
implementedFinders() public
implementedFinders
-
implementedMethods() public
implementedMethods
-
initialize() public
Инициализирующий метод
-
setConfig() public
Устанавливает конфигурацию.
-
table() public
Получить экземпляр таблицы, к которой привязано это поведение.
-
timestamp() public
Получить или установить метку времени, которая будет использоваться
-
touch() public
Обновить метку времени для сущности
-
verifyConfig() public
verifyConfig
Метод Detail
__construct() public
__construct(Cake\ORM\Table $table, array<string, mixed> $config = [])
Конструктор
Объединяет конфигурацию с настройками по умолчанию и сохраняет ее в свойстве config.
Параметры
-
Cake\ORM\Table$table Таблица, к которой прикреплено это поведение.
-
array<string, mixed>$config optional Конфигурация этого поведения.
_configDelete() protected
_configDelete(string $key): void
Удаляет один ключ конфигурации.
Параметры
-
string$key Ключ для удаления.
Возвращает
voidВыбрасывает
Cake\Core\Exception\CakeExceptionесли пытаетесь перезаписать существующую конфигурацию
_configRead() protected
_configRead(string|null $key): mixed
Считывает значение ключа конфигурации.
Параметры
-
string|null$key Ключ для чтения.
Возвращает
mixed_configWrite() protected
_configWrite(array<string, mixed>|string $key, mixed $value, string|bool $merge = false): void
Записывает значение ключа конфигурации.
Параметры
-
array<string, mixed>|string$key Ключ для записи.
-
mixed$value Значение для записи.
-
string|bool$merge optional True для рекурсивного объединения, 'shallow' для простого объединения, false для перезаписи, по умолчанию false.
Возвращает
voidВыбрасывает
Cake\Core\Exception\CakeExceptionесли пытаетесь перезаписать существующую конфигурацию
_reflectionCache() protected
_reflectionCache(): array
Получает методы, реализованные этим поведением.
Использует метод implementedEvents() для исключения методов обратного вызова. Методы, начинающиеся с _, будут проигнорированы, как и методы, объявленные в Cake\ORM\Behavior.
Возвращает
arrayВыбрасывает
ReflectionException_resolveMethodAliases() protected
_resolveMethodAliases(string $key, array<string, mixed> $defaults, array<string, mixed> $config): array
Удаляет алиасированные методы, которые в противном случае были бы продублированы конфигурацией пользовательского интерфейса.
Параметры
-
string$key Ключ для фильтрации.
-
array<string, mixed>$defaults Настройки методов по умолчанию.
-
array<string, mixed>$config Настройки пользовательских отображений методов.
Возвращает
array_updateField() protected
_updateField(Cake\Datasource\EntityInterface $entity, string $field, bool $refreshTimestamp): void
Обновляет поле, если оно еще не было обновлено.
Параметры
-
Cake\Datasource\EntityInterface$entity Экземпляр сущности.
-
string$field Имя поля.
-
bool$refreshTimestamp Обновить метку времени.
Возвращает
voidconfigShallow() public
configShallow(array<string, mixed>|string $key, mixed|null $value = null): $this
Объединяет предоставленную конфигурацию с существующей. В отличие от config(), которая выполняет рекурсивное объединение для вложенных ключей, этот метод выполняет простое объединение.
Установка конкретного значения:
$this->configShallow('key', $value); Установка вложенного значения:
$this->configShallow('some.nested.key', $value); Обновление нескольких параметров конфигурации одновременно:
$this->configShallow(['one' => 'value', 'another' => 'value']);
Параметры
-
array<string, mixed>|string$key Ключ для установки или полный массив конфигураций.
-
mixed|null$value optional Значение для установки.
Возвращает
$thisgetConfig() public
getConfig(string|null $key = null, mixed $default = null): mixed
Возвращает конфигурацию.
Использование
Чтение всей конфигурации:
$this->getConfig();
Чтение конкретного значения:
$this->getConfig('key'); Чтение вложенного значения:
$this->getConfig('some.nested.key'); Чтение со значением по умолчанию:
$this->getConfig('some-key', 'default-value'); Параметры
-
string|null$key optional Ключ для получения или null для всей конфигурации.
-
mixed$default optional Значение по умолчанию, если ключ не найден.
Возвращает
mixedgetConfigOrFail() public
getConfigOrFail(string $key): mixed
Возвращает конфигурацию для определенного ключа.
Значение конфигурации для этого ключа должно существовать, оно никогда не может быть null.
Параметры
-
string$key Ключ для получения.
Возвращает
mixedВыбрасывает
InvalidArgumentExceptiongetTable() public
getTable(): Cake\ORM\Table
Получает экземпляр таблицы, к которой привязано это поведение.
Возвращает
Cake\ORM\TablehandleEvent() public
handleEvent(Cake\Event\EventInterface $event, Cake\Datasource\EntityInterface $entity): true
Существует только один обработчик событий, он может быть настроен на вызов для любого события.
Параметры
-
Cake\Event\EventInterface$event Экземпляр события.
-
Cake\Datasource\EntityInterface$entity Экземпляр сущности.
Возвращает
trueВыбрасывает
UnexpectedValueExceptionесли значение поля когда неправильно определено
UnexpectedValueExceptionесли значение для события не равно 'always', 'new' или 'existing'
implementedEvents() public
implementedEvents(): array<string, mixed>
implementedEvents
Реализованные события этого поведения зависят от конфигурации.
Возвращает
array<string, mixed>implementedFinders() public
implementedFinders(): array
implementedFinders
Предоставляет отображение alias->метод, которые реализует поведение поиска. Пример:
[ 'this' => 'findThis', 'alias' => 'findMethodName' ]
В приведенном выше примере вызов $table->find('this') вызовет $behavior->findThis(), а вызов $table->find('alias') вызовет $behavior->findMethodName().
Рекомендуется (хотя и необязательно) определять implementedFinders в свойстве config дочерних классов, чтобы не приходилось использовать рефлексию для получения списка доступных методов. См. примеры в основных поведении.
Возвращает
arrayВыбрасывает
ReflectionExceptionimplementedMethods() public
implementedMethods(): array
implementedMethods
Предоставляет отображение alias->метод, которые реализует поведение. Пример:
[ 'method' => 'method', 'aliasedMethod' => 'somethingElse' ]
В приведенном выше примере вызов $table->method() вызовет $behavior->method(), а вызов $table->aliasedMethod() вызовет $behavior->somethingElse().
Рекомендуется (хотя и необязательно) определять implementedFinders в свойстве config дочерних классов, чтобы не приходилось использовать рефлексию для получения списка доступных методов. См. примеры в основных поведении.
Возвращает
arrayВыбрасывает
ReflectionExceptioninitialize() public
initialize(array<string, mixed> $config): void
Обработчик инициализации.
Если события указаны — не объединяйте их с существующими событиями, а перезаписывайте события, на которые нужно подписаться.
Параметры
-
array<string, mixed>$config Конфигурация для этого поведения.
Возвращает
voidsetConfig() public
setConfig(array<string, mixed>|string $key, mixed|null $value = null, bool $merge = true): $this
Устанавливает конфигурацию.
Использование
Установка определенного значения:
$this->setConfig('key', $value); Установка вложенного значения:
$this->setConfig('some.nested.key', $value); Обновление нескольких параметров конфигурации одновременно:
$this->setConfig(['one' => 'value', 'another' => 'value']);
Параметры
-
array<string, mixed>|string$key Ключ для установки или массив конфигурации.
-
mixed|null$value необязательно Значение для установки.
-
bool$merge необязательно Выполнять рекурсивное слияние или перезаписывать существующую конфигурацию, по умолчанию true.
Возвращает
$thisИсключения
Cake\Core\Exception\CakeExceptionПри попытке установить недопустимый ключ.
table() public
table(): Cake\ORM\Table
Получить экземпляр таблицы, к которому привязано это поведение.
Возвращает
Cake\ORM\Tabletimestamp() public
timestamp(DateTimeInterface|null $ts = null, bool $refreshTimestamp = false): Cake\I18n\FrozenTime
Получение или установка отметки времени.
Устанавливает отметку времени на заданный объект DateTime или, если не передан, создаёт новый объект DateTime. Если передан явный объект DateTime, опция конфигурации refreshTimestamp автоматически устанавливается в false.
Параметры
-
DateTimeInterface|null$ts необязательно Отметка времени
-
bool$refreshTimestamp необязательно Если true, отметка времени обновляется.
Возвращает
Cake\I18n\FrozenTimetouch() public
touch(Cake\Datasource\EntityInterface $entity, string $eventName = 'Model.beforeSave'): bool
Обновить сущность
Обновляет поля отметки времени сущности. Для полей, настроенных на обновление "всегда" или "существующее", обновляется значение отметки времени. Этот метод перезапишет любое ранее существовавшее значение.
Параметры
-
Cake\Datasource\EntityInterface$entity Экземпляр сущности.
-
string$eventName необязательно Имя события.
Возвращает
boolverifyConfig() public
verifyConfig(): void
verifyConfig
Проверяет, что реализованные ключи содержат значения, указывающие на вызываемый объект.
Возвращает
voidИсключения
Cake\Core\Exception\CakeExceptionесли конфигурация неверна
Детали свойств
$_config protected
Конфигурация во время выполнения
Тип
array<string, mixed>$_configInitialized protected
Указание, была ли конфигурация уже настроена с настройками по умолчанию
Тип
bool$_defaultConfig protected
Конфигурация по умолчанию
Эти значения объединяются с пользовательскими значениями при использовании поведения.
events - массив имён событий, в котором указываются поля, которые необходимо обновлять и когда, для данного события возможные значения, когда поле будет обновлено, это «всегда», «новый» или «существующий», чтобы установить значение поля всегда, только при создании нового записей или только при обновлении существующих записей.
refreshTimestamp - если true (значение по умолчанию), используемая отметка времени будет текущим временем при выполнении кода, чтобы установить явное значение даты и времени - установите refreshTimetamp в false и вызовите setTimestamp() в классе поведения перед использованием.
Тип
array<string, mixed>$_reflectionCache protected static
Кэш методов рефлексии для поведений.
Хранит рефлектированные методы + методы поиска для каждого класса. Это предотвращает многократное рефлектирование одного и того же класса в одном процессе.
Тип
array<string, array>$_table protected
Экземпляр таблицы.
Тип
Cake\ORM\Table$_ts protected
Текущая отметка времени
Тип
Cake\I18n\FrozenTime|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.3/class-Cake.ORM.Behavior.TimestampBehavior.html