Spec-Zone.ru › CakePHP 3.7

Класс TimestampBehavior

Класс TimestampBehavior

Cake\ORM\Behavior implements Cake\Event\EventListenerInterface uses Cake\Core\InstanceConfigTrait
Extended by Cake\ORM\Behavior\TimestampBehavior
Пространство имён: Cake\ORM\Behavior
Расположение: ORM/Behavior/TimestampBehavior.php

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

  • $_defaultConfig protected
    array
    Конфигурация по умолчанию
  • $_ts protected
    Cake\I18n\Time
    Текущее значение отметки времени

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

  • _reflectionCache, _table _config, _configInitialized

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

  • _updateField() protected
    Обновление поля, если оно ещё не было обновлено
  • handleEvent() public
    Есть только один обработчик событий, который можно настроить для вызова для любого события
  • implementedEvents() public
    Реализованные события
  • initialize() public
    Обработчик инициализации
  • timestamp() public
    Получение или установка отметки времени
  • touch() public
    Обновить сущность

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

_updateField()source protected

_updateField( Cake\Datasource\EntityInterface $entity , string $field , boolean $refreshTimestamp )

Обновление поля, если оно ещё не было обновлено

Параметры

Cake\Datasource\EntityInterface $entity
Экземпляр сущности.
строка $field
Имя поля
логическое $refreshTimestamp
Обновить отметку времени.

handleEvent()source public

handleEvent( Cake\Event\Event $event , Cake\Datasource\EntityInterface $entity )

Есть только один обработчик событий, который можно настроить для вызова для любого события

Параметры

Cake\Event\Event $event
Экземпляр события.
Cake\Datasource\EntityInterface $entity
Экземпляр сущности.

Возвращает

boolean
Возвращает true независимо от логики поведения, сохранение не будет предотвращено.

Исключения

UnexpectedValueException
если значение поля когда задано неправильно
UnexpectedValueException
Если значение для события не равно 'всегда', 'новый' или 'существующий'

implementedEvents()source public

implementedEvents( )

Реализованные события

Реализованные события этого поведения зависят от конфигурации

Возвращает

массив

Переопределяет

Cake\ORM\Behavior::implementedEvents()

initialize()source public

initialize( array $config )

Обработчик инициализации

Если события указаны - не сливайте их с существующими событиями, переопределите события для прослушивания

Параметры

массив $config
Настройки для данного поведения.

Переопределяет

Cake\ORM\Behavior::initialize()

timestamp()source public

timestamp( DateTime $ts = null , boolean $refreshTimestamp = false )

Получение или установка отметки времени

Устанавливает отметку времени в указанный объект DateTime, или, если он не передан, новый объект DateTime. Если передается явный объект DateTime, опция конфигурации refreshTimestamp автоматически устанавливается в false.

Параметры

DateTime $ts дополнительно null
Отметка времени
логическое $refreshTimestamp дополнительно false
Если true, отметка времени обновляется.

Возвращает

Cake\I18n\Time

touch()source public

touch( Cake\Datasource\EntityInterface $entity , string $eventName = 'Model.beforeSave' )

Обновить сущность

Обновляет поля отметки времени для сущности. Для любых полей, настроенных на обновление "всегда" или "существующее", обновляет значение отметки времени. Этот метод перепишет любое ранее существовавшее значение.

Параметры

Cake\Datasource\EntityInterface $entity
Экземпляр сущности.
строка $eventName дополнительно 'Model.beforeSave'
Имя события.

Возвращает

boolean
true, если поле обновлено, false, если действие не выполнено

Наследованные методы от Cake\ORM\Behavior

__construct()source public

__construct( Cake\ORM\Table $table , array $config = [] )

Конструктор

Объединяет конфигурацию с параметрами по умолчанию и сохраняет в свойстве config

Параметры

Cake\ORM\Table $table
Таблица, к которой прикреплено данное поведение.
массив $config дополнительно []
Настройки для данного поведения.

_reflectionCache()source protected

_reflectionCache( )

Получение методов, реализованных этим поведением

Использует метод implementedEvents() для исключения методов обратного вызова. Методы, начинающиеся с _ будут проигнорированы, так же, как и методы, объявленные в Cake\ORM\Behavior

Возвращает

массив

Исключения

ReflectionException

_resolveMethodAliases()source protected

_resolveMethodAliases( string $key , array $defaults , array $config )

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

Параметры

строка $key
Ключ для фильтрации.
массив $defaults
Сопоставления методов по умолчанию.
массив $config
Настроенные сопоставления методов.

Возвращает

массив
Список данных конфигурации без дублирования.

getTable()source public

getTable( )

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

Возвращает

Cake\ORM\Table
Экземпляр привязанной таблицы.

implementedFinders()source public

implementedFinders( )

Реализованные поисковые запросы

Предоставляет отображение алиас->имя_метода, описывающее, какие поисковые запросы реализует поведение. Пример:

[
   'this' => 'findThis',
   'alias' => 'findMethodName'
 ]

С приведенным выше примером, вызов $Table->find('this') вызовет $Behavior->findThis(), а вызов $Table->find('alias') вызовет $Behavior->findMethodName()

Рекомендуется, хотя и необязательно, определять implementedFinders в свойстве config дочерних классов, чтобы не было необходимости использовать рефлексию для вывода доступного списка методов. См. примеры поведенческих шаблонов ядра.

Возвращает

массив

Исключения

ReflectionException

implementedMethods()source public

implementedMethods( )

Реализованные методы

Предоставляет отображение алиас->имя_метода, описывающее, какие методы реализует поведение. Пример:

[
   'method' => 'method',
   'aliasedmethod' => 'somethingElse'
 ]

С приведенным выше примером, вызов $Table->method() вызовет $Behavior->method(), а вызов $Table->aliasedmethod() вызовет $Behavior->somethingElse()

Рекомендуется, хотя и необязательно, определять implementedFinders в свойстве config дочерних классов, чтобы не было необходимости использовать рефлексию для вывода доступного списка методов. См. примеры поведенческих шаблонов ядра.

Возвращает

массив

Исключения

ReflectionException
END_OF_DOCUMENT_MARKER

verifyConfig()source public

verifyConfig( )

verifyConfig

Проверяет, что реализованные ключи содержат значения, указывающие на вызываемые функции.

Исключения

Cake\Core\Exception\Exception
если конфигурация некорректна

Методы, используемые из Cake\Core\InstanceConfigTrait

_configDelete()source protected

_configDelete( string $key )

Удаляет один ключ конфигурации.

Параметры

string $key
Ключ для удаления.

Исключения

Cake\Core\Exception\Exception
если происходит попытка перезаписи существующей конфигурации

_configRead()source protected

_configRead( string|null $key )

Считывает ключ конфигурации.

Параметры

string|null $key
Ключ для считывания.

Возвращает

mixed

_configWrite()source protected

_configWrite( string|array $key , mixed $value , boolean|string $merge = false )

Записывает ключ конфигурации.

Параметры

string|array $key
Ключ для записи.
mixed $value
Значение для записи.
boolean|string $merge optional false

Истина для рекурсивного слияния, 'shallow' для простого слияния, ложь для перезаписи, по умолчанию ложь.

Исключения

Cake\Core\Exception\Exception
если происходит попытка перезаписи существующей конфигурации

config()source public deprecated

config( string|array|null $key = null , mixed|null $value = null , boolean $merge = true )

Получение/Установка конфигурации.

Использование

Чтение всей конфигурации:

$this->config();

Чтение определенного значения:

$this->config('key');

Чтение вложенного значения:

$this->config('some.nested.key');

Установка определенного значения:

$this->config('key', $value);

Установка вложенного значения:

$this->config('some.nested.key', $value);

Обновление нескольких настроек конфигурации одновременно:

$this->config(['one' => 'value', 'another' => 'value']);

Устаревшее

3.4.0 используйте setConfig()/getConfig() вместо этого.

Параметры

string|array|null $key optional null
Ключ для получения/установки или массив конфигурации целиком.
mixed|null $value optional null
Значение для установки.
boolean $merge optional true
Выполнять рекурсивное слияние или перезапись существующей конфигурации, по умолчанию – истина.

Возвращает

mixed
Считываемое значение конфигурации или сам объект при операциях записи.

Исключения

Cake\Core\Exception\Exception
При попытке установить недействительный ключ.

configShallow()source public

configShallow( string|array $key , mixed|null $value = null )

Объединяет предоставленную конфигурацию с существующей конфигурацией. В отличие от config(), которая выполняет рекурсивное слияние для вложенных ключей, этот метод выполняет простое слияние.

Установка определенного значения:

$this->configShallow('key', $value);

Установка вложенного значения:

$this->configShallow('some.nested.key', $value);

Обновление нескольких настроек конфигурации одновременно:

$this->configShallow(['one' => 'value', 'another' => 'value']);

Параметры

string|array $key
Ключ для установки или массив конфигурации целиком.
mixed|null $value optional null
Значение для установки.

Возвращает


$this

getConfig()source public

getConfig( string|null $key = null , mixed $default = null )

Возвращает конфигурацию.

Использование

Чтение всей конфигурации:

$this->getConfig();

Чтение определенного значения:

$this->getConfig('key');

Чтение вложенного значения:

$this->getConfig('some.nested.key');

Чтение со значением по умолчанию:

$this->getConfig('some-key', 'default-value');

Параметры

string|null $key optional null
Ключ для получения или null для всей конфигурации.
mixed $default optional null
Возвращаемое значение, если ключ не существует.

Возвращает

mixed
Считываемое значение конфигурации.

setConfig()source public

setConfig( string|array $key , mixed|null $value = null , boolean $merge = true )

Устанавливает конфигурацию.

Использование

Установка определенного значения:

$this->setConfig('key', $value);

Установка вложенного значения:

$this->setConfig('some.nested.key', $value);

Обновление нескольких настроек конфигурации одновременно:

$this->setConfig(['one' => 'value', 'another' => 'value']);

Параметры

string|array $key
Ключ для установки или массив конфигурации целиком.
mixed|null $value optional null
Значение для установки.
boolean $merge optional true
Выполнять рекурсивное слияние или перезапись существующей конфигурации, по умолчанию – истина.

Возвращает


$this

Исключения

Cake\Core\Exception\Exception
При попытке установить недействительный ключ.

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

$_defaultConfigsource

protected array

Конфигурация по умолчанию

Эти значения объединяются с предоставленной пользователем конфигурацией при использовании поведения.

events - массив, индексированный именем события, содержащий поля, которые нужно обновлять и когда. Возможные значения для обновления поля: "всегда", "новый" или "существующий", чтобы установить значение поля всегда, только при создании нового записей или только при обновлении существующих.

refreshTimestamp - если истинно (по умолчанию), используемое значение метки времени — текущее время при выполнении кода. Чтобы установить явную дату и время, установите refreshTimestamp в ложь и вызовите setTimestamp() в классе поведения перед использованием.

[
    'implementedFinders' => [],
    'implementedMethods' => [
        'timestamp' => 'timestamp',
        'touch' => 'touch'
    ],
    'events' => [
        'Model.beforeSave' => [
            'created' => 'new',
            'modified' => 'always'
        ]
    ],
    'refreshTimestamp' => true
]

$_tssource

protected Cake\I18n\Time

Текущая метка времени

© 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.7/class-Cake.ORM.Behavior.TimestampBehavior.html

Spec-Zone.ru

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