Spec-Zone.ru › CakePHP 3.6

Класс 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
если значение параметра when поля некорректно определено
UnexpectedValueException
Если значение для события не равно 'always', 'new' или 'existing'

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

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

Предоставляет карту alias->methodname, в котором поведение реализует поиск. Пример:

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

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

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

Возвращает

массив

Исключения

ReflectionException

implementedMethods()source public

implementedMethods( )

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

Предоставляет карту alias->methodname, в котором поведение реализует методы. Пример:

[
   '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 )

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

Параметры

строка $key
Ключ для удаления.

Исключения

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

_configRead()source protected

_configRead( string|null $key )

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

Параметры

строка|null $key
Ключ для чтения.

Возвращает

mixed

_configWrite()source protected

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

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

Параметры

строка|массив $key
Ключ для записи.
mixed $value
Значение для записи.
boolean|строка $merge необязательно false

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

Исключения

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() вместо этого.

Параметры

строка|массив|null $key необязательно null
Ключ для получения/установки или весь массив конфигураций.
mixed|null $value необязательно null
Значение для установки.
boolean $merge необязательно true
Выполнять рекурсивное слияние или перезаписывать существующую конфигурацию, по умолчанию 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']);

Параметры

строка|массив $key
Ключ для установки или весь массив конфигураций.
mixed|null $value необязательно 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');

Параметры

строка|null $key необязательно null
Ключ для получения или null для всей конфигурации.
mixed $default необязательно 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']);

Параметры

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

Возвращает


$this

Исключения

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

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

$_defaultConfigsource

protected массив

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

Эти значения сливаются с предоставленными пользователем настройками при использовании поведения.

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

refreshTimestamp - если true (по умолчанию), используемое значение отметки времени — текущее время при выполнении кода, для установки явного значения даты и времени — установите refreshTimestamp в false и вызовите 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.6/class-Cake.ORM.Behavior.TimestampBehavior.html

Spec-Zone.ru

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