# VoodooDaoWorker Class Reference
[Root classes for building DAO hierarchies]

Transparent though quite obscure and greedy DAO worker. More...

Inheritance diagram for VoodooDaoWorker:
[legend]

List of all members.

## Public Member Functions

| __construct (GenericDAO $dao)
| uncacheLists ()
| uncachers

## Static Public Member Functions

static | setDefaultHandler ($handler)

## Protected Member Functions

| cacheByQuery (SelectQuery $query, $object, $expires=Cache::EXPIRES_FOREVER)
| cachers
| cacheListByQuery (SelectQuery $query, $array)

## Private Attributes

| $classKey = null
| $handler = null

## Static Private Attributes

static | $defaultHandler = null
| gentlyGetByKey ($key)
| internal helpers
| spawnHandler ($classKey)

## Detailed Description

Transparent though quite obscure and greedy DAO worker.

Warning:
  Do not ever think about using it on production systems, unless you're fully understand every line of code here.

you'll probably want to tweak your sysctl when using MessageSegmentHandler:

kernel.msgmni = (total number of DAOs + 2) kernel.msgmnb = 32767

See also:
  CommonDaoWorker for manual-caching one.
  SmartDaoWorker for less obscure, but locking-based worker.

Definition at line 29 of file VoodooDaoWorker.class.php.

## Constructor & Destructor Documentation

VoodooDaoWorker::__construct | ( | GenericDAO $ | dao | ) |

Reimplemented from BaseDaoWorker.

Definition at line 44 of file VoodooDaoWorker.class.php.

References BaseDaoWorker::$watermark, TransparentDaoWorker::keyToInt(), Cache::me(), and spawnHandler().

Here is the call graph for this function:

## Member Function Documentation

VoodooDaoWorker::cacheByQuery | ( | SelectQuery $ | query,
|  | $ | object,
|  | $ | expires = `Cache::EXPIRES_FOREVER` |
| ) |  |  | `[protected]`

cachers

Reimplemented from CommonDaoWorker.

Definition at line 60 of file VoodooDaoWorker.class.php.

References BaseDaoWorker::makeQueryKey(), and Cache::me().

Here is the call graph for this function:

VoodooDaoWorker::cacheListByQuery | ( | SelectQuery $ | query,
|  | $ | array |
| ) |  |  | `[protected]`

Reimplemented from CommonDaoWorker.

Definition at line 75 of file VoodooDaoWorker.class.php.

References Cache::EXPIRES_FOREVER, Assert::isArray(), Assert::isTrue(), BaseDaoWorker::makeQueryKey(), Cache::me(), and Cache::NOT_FOUND.

Here is the call graph for this function:

VoodooDaoWorker::gentlyGetByKey | ( | $ | key | ) | `[protected]`

internal helpers

Reimplemented from TransparentDaoWorker.

Definition at line 110 of file VoodooDaoWorker.class.php.

References Cache::me().

Here is the call graph for this function:

static VoodooDaoWorker::setDefaultHandler | ( | $ | handler | ) | `[static]`

Definition at line 37 of file VoodooDaoWorker.class.php.

References $handler, and Assert::classExists().

Here is the call graph for this function:

VoodooDaoWorker::spawnHandler | ( | $ | classKey | ) | `[private]`

Definition at line 120 of file VoodooDaoWorker.class.php.

References $classKey, and $defaultHandler.

Referenced by __construct().

VoodooDaoWorker::uncacheLists | ( |  | ) |

uncachers

Reimplemented from CommonDaoWorker.

Definition at line 100 of file VoodooDaoWorker.class.php.

## Member Data Documentation

VoodooDaoWorker::$classKey = null`[private]`

Definition at line 31 of file VoodooDaoWorker.class.php.

Referenced by spawnHandler().

VoodooDaoWorker::$defaultHandler = null`[static, private]`

Definition at line 35 of file VoodooDaoWorker.class.php.

Referenced by spawnHandler().

VoodooDaoWorker::$handler = null`[private]`

Definition at line 32 of file VoodooDaoWorker.class.php.

Referenced by setDefaultHandler().

The documentation for this class was generated from the following file:

- main/DAOs/Workers/VoodooDaoWorker.class.php