PHP Класс Tools\Model\Behavior\BitmaskedBehavior

An implementation of bitwise masks for row-level operations. You can submit/register flags in different ways. The easiest way is using a static model function. It should contain the bits like so (starting with 1): 1 => w, 2 => x, 4 => y, 8 => z, ... (bits as keys - names as values) The order doesn't matter, as long as no bit is used twice. The theoretical limit for a 64-bit integer would be 64 bits (2^64). But if you actually seem to need more than a hand full you obviously do something wrong and should better use a joined table etc.
Наследование: extends Cake\ORM\Behavior
Показать файл Открыть проект Примеры использования класса

Защищенные свойства (Protected)

Свойство Тип Описание
$_defaultConfig array Default config

Открытые методы

Метод Описание
beforeFind ( Cake\Event\Event $event, Query $query ) : void
beforeRules ( Cake\Event\Event $event, Cake\ORM\Entity $entity, ArrayObject $options ) : void
beforeSave ( Cake\Event\Event $event, Cake\ORM\Entity $entity, ArrayObject $options ) : void
containsBit ( integer | array $bits ) : array
containsNotBit ( integer | array $bits ) : array
decodeBitmask ( integer $value ) : array
encodeBitmask ( array $value, mixed $defaultValue = null ) : integer
encodeBitmaskConditions ( Query $query ) : void
encodeBitmaskData ( Cake\ORM\Entity $entity ) : void
initialize ( array $config = [] ) : void Behavior configuration
isBit ( integer | array $bits ) : array
isNotBit ( integer | array $bits ) : array

Защищенные методы

Метод Описание
_containsBit ( integer | array $bits, boolean $contain = true ) : array

Описание методов

_containsBit() защищенный Метод

protected _containsBit ( integer | array $bits, boolean $contain = true ) : array
$bits integer | array
$contain boolean
Результат array SQL snippet.

beforeFind() публичный Метод

public beforeFind ( Cake\Event\Event $event, Query $query ) : void
$event Cake\Event\Event
$query Cake\ORM\Query
Результат void

beforeRules() публичный Метод

public beforeRules ( Cake\Event\Event $event, Cake\ORM\Entity $entity, ArrayObject $options ) : void
$event Cake\Event\Event
$entity Cake\ORM\Entity
$options ArrayObject
Результат void

beforeSave() публичный Метод

public beforeSave ( Cake\Event\Event $event, Cake\ORM\Entity $entity, ArrayObject $options ) : void
$event Cake\Event\Event
$entity Cake\ORM\Entity
$options ArrayObject
Результат void

containsBit() публичный Метод

public containsBit ( integer | array $bits ) : array
$bits integer | array
Результат array SQL snippet.

containsNotBit() публичный Метод

public containsNotBit ( integer | array $bits ) : array
$bits integer | array
Результат array SQL snippet.

decodeBitmask() публичный Метод

public decodeBitmask ( integer $value ) : array
$value integer Bitmask.
Результат array Bitmask array (from DB to APP).

encodeBitmask() публичный Метод

public encodeBitmask ( array $value, mixed $defaultValue = null ) : integer
$value array Bitmask array.
$defaultValue mixed Default bitmask value.
Результат integer Bitmask (from APP to DB).

encodeBitmaskConditions() публичный Метод

public encodeBitmaskConditions ( Query $query ) : void
$query Cake\ORM\Query
Результат void

encodeBitmaskData() публичный Метод

public encodeBitmaskData ( Cake\ORM\Entity $entity ) : void
$entity Cake\ORM\Entity
Результат void

initialize() публичный Метод

Behavior configuration
public initialize ( array $config = [] ) : void
$config array
Результат void

isBit() публичный Метод

public isBit ( integer | array $bits ) : array
$bits integer | array
Результат array SQL snippet.

isNotBit() публичный Метод

public isNotBit ( integer | array $bits ) : array
$bits integer | array
Результат array SQL snippet.

Описание свойств

$_defaultConfig защищенное свойство

Default config
protected array $_defaultConfig
Результат array