Spec-Zone.ru › CakePHP 3.8

Класс TimestampBehavior

Класс TimestampBehavior

Cake\ORM\Behavior implements Cake\Event\EventListenerInterface uses Cake\Core\InstanceConfigTrait
Расширенный 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
Если значение события не равно '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( )

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

Предоставляет соответствие алиас->имя_метода для реализованных методов поиска. Пример:

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

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

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

Возвращает

массив

Исключения

ReflectionException

implementedMethods()source public

implementedMethods( )

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

Предоставляет соответствие алиас->имя_метода для реализованных методов. Пример:

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

В приведенном примере вызов $Table->method() вызовет %%%CODE_BLOCK_53%%>, а вызов $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

Истина для рекурсивного слияния, '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() вместо этого.

Параметры

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

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
Рекурсивно сливать или перезаписывать существующую конфигурацию, по умолчанию - истина.

Возвращает


$this

Возможные исключения

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

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

$_defaultConfigsource

protected массив

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

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

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

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

Spec-Zone.ru

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