PHP Class Bravo3\Orm\Drivers\Filesystem\FilesystemDriver

When using any I/O driver that works with actual files, it is important to use the FilesystemKeyScheme else file manipulations will have unexpected results.
Inheritance: implements Bravo3\Orm\Drivers\DriverInterface, use trait Bravo3\Orm\Traits\DebugTrait, use trait Bravo3\Orm\Drivers\Common\StandardIdValidatorTrait
Show file Open project: bravo3/orm

Protected Properties

Property Type Description
$unit_of_work Bravo3\Orm\Drivers\Common\UnitOfWork
$worker_pool Bravo3\Orm\Drivers\Common\WorkerPool

Public Methods

Method Description
__construct ( Bravo3\Orm\Drivers\Filesystem\Io\IoDriverInterface $io_driver )
addMultiValueIndex ( string $key, string | array $value ) : void Add one or many values to a list index
addRef ( string $key, Ref $ref ) : void Add a ref to an entity
addSortedIndex ( string $key, mixed $score, string $value ) : void Add or update an item in a sorted index
clearMultiValueIndex ( string $key ) : void Clear all values from a set index
clearRefs ( string $key ) : void Clear all refs from an entity (delete a ref list)
clearSingleValueIndex ( string $key ) : string Clear the value of a key-value index
clearSortedIndex ( string $key ) : void Clear an entire sorted index
debugLog ( string $msg ) : void Create a debug log
delete ( string $key ) : void Delete a primitive document
flush ( ) : void Execute the current unit of work
getMultiValueIndex ( string $key ) : string[] Get a list of all values on a set index
getPreferredKeyScheme ( ) : Bravo3\Orm\KeySchemes\KeySchemeInterface Get the drivers preferred key scheme
getRefs ( string $key ) : Ref[] Get all refs to an entity
getSingleValueIndex ( string $key ) : string | null Get the value of a key-value index
getSortedIndex ( string $key, boolean $reverse = false, integer $start = null, integer $stop = null ) : string[] Get a range of values in a sorted index
getSortedIndexSize ( string $key ) : integer Get the size of a sorted index, without any filters applied
persist ( string $key, SerialisedData $data, integer $ttl = null ) : void Persist some primitive data
purge ( ) : void Purge the current unit of work, clearing any unexecuted commands
removeMultiValueIndex ( string $key, string | array $value ) : void Remove one or more values from a set index
removeRef ( string $key, Ref $ref ) : void Remove a ref from an entity
removeSortedIndex ( string $key, string $value ) : void Remove an item from a sorted index
retrieve ( string $key ) : SerialisedData Retrieve an object
scan ( string $key ) : string[] Scan key-value indices and return the value of all matching keys
setSingleValueIndex ( string $key, string $value ) : void Set a key-value index

Protected Methods

Method Description
createWorkerPool ( Bravo3\Orm\Drivers\Filesystem\Io\IoDriverInterface $io_driver ) Create a worker pool with all workers registered

Method Details

__construct() public method

public __construct ( Bravo3\Orm\Drivers\Filesystem\Io\IoDriverInterface $io_driver )
$io_driver Bravo3\Orm\Drivers\Filesystem\Io\IoDriverInterface Filesystem IO driver

addMultiValueIndex() public method

Add one or many values to a list index
public addMultiValueIndex ( string $key, string | array $value ) : void
$key string
$value string | array
return void

addRef() public method

Add a ref to an entity
public addRef ( string $key, Ref $ref ) : void
$key string Entity ref key
$ref Bravo3\Orm\Drivers\Common\Ref Reference to add
return void

addSortedIndex() public method

Add or update an item in a sorted index
public addSortedIndex ( string $key, mixed $score, string $value ) : void
$key string
$score mixed
$value string
return void

clearMultiValueIndex() public method

Clear all values from a set index
public clearMultiValueIndex ( string $key ) : void
$key string
return void

clearRefs() public method

Clear all refs from an entity (delete a ref list)
public clearRefs ( string $key ) : void
$key string
return void

clearSingleValueIndex() public method

Clear the value of a key-value index
public clearSingleValueIndex ( string $key ) : string
$key string
return string

clearSortedIndex() public method

Clear an entire sorted index
public clearSortedIndex ( string $key ) : void
$key string
return void

createWorkerPool() protected method

Create a worker pool with all workers registered
protected createWorkerPool ( Bravo3\Orm\Drivers\Filesystem\Io\IoDriverInterface $io_driver )
$io_driver Bravo3\Orm\Drivers\Filesystem\Io\IoDriverInterface

debugLog() public method

Create a debug log
public debugLog ( string $msg ) : void
$msg string
return void

delete() public method

Delete a primitive document
public delete ( string $key ) : void
$key string
return void

flush() public method

Execute the current unit of work
public flush ( ) : void
return void

getMultiValueIndex() public method

If the key does not exist, an empty array should be returned.
public getMultiValueIndex ( string $key ) : string[]
$key string
return string[]

getPreferredKeyScheme() public method

Get the drivers preferred key scheme
public getPreferredKeyScheme ( ) : Bravo3\Orm\KeySchemes\KeySchemeInterface
return Bravo3\Orm\KeySchemes\KeySchemeInterface

getRefs() public method

Get all refs to an entity
public getRefs ( string $key ) : Ref[]
$key string Entity ref key
return Bravo3\Orm\Drivers\Common\Ref[]

getSingleValueIndex() public method

If the key does not exist, null should be returned.
public getSingleValueIndex ( string $key ) : string | null
$key string
return string | null

getSortedIndex() public method

If $start/$stop are === null, they are assumed to be the start/end of the entire set.
public getSortedIndex ( string $key, boolean $reverse = false, integer $start = null, integer $stop = null ) : string[]
$key string
$reverse boolean
$start integer
$stop integer
return string[]

getSortedIndexSize() public method

Get the size of a sorted index, without any filters applied
public getSortedIndexSize ( string $key ) : integer
$key string
return integer

persist() public method

Persist some primitive data
public persist ( string $key, SerialisedData $data, integer $ttl = null ) : void
$key string
$data Bravo3\Orm\Drivers\Common\SerialisedData
$ttl integer
return void

purge() public method

Purge the current unit of work, clearing any unexecuted commands
public purge ( ) : void
return void

removeMultiValueIndex() public method

Remove one or more values from a set index
public removeMultiValueIndex ( string $key, string | array $value ) : void
$key string
$value string | array
return void

removeRef() public method

If the reference does not exist, no action is taken.
public removeRef ( string $key, Ref $ref ) : void
$key string Entity ref key
$ref Bravo3\Orm\Drivers\Common\Ref Reference to remove
return void

removeSortedIndex() public method

Remove an item from a sorted index
public removeSortedIndex ( string $key, string $value ) : void
$key string
$value string
return void

retrieve() public method

Retrieve an object
public retrieve ( string $key ) : SerialisedData
$key string
return Bravo3\Orm\Drivers\Common\SerialisedData

scan() public method

Scan key-value indices and return the value of all matching keys
public scan ( string $key ) : string[]
$key string
return string[]

setSingleValueIndex() public method

Set a key-value index
public setSingleValueIndex ( string $key, string $value ) : void
$key string
$value string
return void

Property Details

$unit_of_work protected property

protected UnitOfWork,Bravo3\Orm\Drivers\Common $unit_of_work
return Bravo3\Orm\Drivers\Common\UnitOfWork

$worker_pool protected property

protected WorkerPool,Bravo3\Orm\Drivers\Common $worker_pool
return Bravo3\Orm\Drivers\Common\WorkerPool