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
파일 보기 프로젝트 열기: dereuromark/cakephp-tools 1 사용 예제들

보호된 프로퍼티들

프로퍼티 타입 설명
$_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