Elgg
Version master
|
Public Member Functions | |
__construct (callable $getter, array $options, $callback=null, int $chunk_size=25, bool $inc_offset=true) | |
Batches operations on any elgg_get_*() or compatible function that supports an options array. More... | |
setIncrementOffset (bool $increment=true) | |
Increment the offset from the original options array? Setting to false is required for callbacks that delete rows. More... | |
setChunkSize (int $size=25) | |
Set chunk size. More... | |
reportFailure (int $num=1) | |
Report a number of failures during the batch execution, this will increase the internal offset by $num in case offsett increment is disabled. More... | |
rewind () | |
Implements Iterator. More... | |
current () | |
{} More... | |
key () | |
{} More... | |
next () | |
{} More... | |
valid () | |
{} More... | |
count () | |
Count the total results available at this moment. More... | |
Public Attributes | |
$callbackResult = null | |
Definition at line 71 of file ElggBatch.php.
ElggBatch::__construct | ( | callable | $getter, |
array | $options, | ||
$callback = null , |
|||
int | $chunk_size = 25 , |
||
bool | $inc_offset = true |
||
) |
Batches operations on any elgg_get_*() or compatible function that supports an options array.
Instead of returning all objects in memory, it goes through $chunk_size objects, then requests more from the server. This avoids OOM errors.
callable | $getter | The function used to get objects. Usually an elgg_get_*() function, but can be any valid PHP callback. |
array | $options | The options array to pass to the getter function. If limit is not set, 10 is used as the default. In most cases that is not what you want. |
mixed | $callback | An optional callback function that all results will be passed to upon load. The callback needs to accept $result, $getter, $options. |
int | $chunk_size | The number of entities to pull in before requesting more. You have to balance this between running out of memory in PHP and hitting the db server too often. |
bool | $inc_offset | Increment the offset on each fetch. This must be false for callbacks that delete rows. You can set this after the object is created with ElggBatch::setIncrementOffset(). |
Definition at line 200 of file ElggBatch.php.
ElggBatch::count | ( | ) |
Count the total results available at this moment.
As this performs a separate query, the count returned may not match the number of results you can fetch via iteration on a very active DB.
Definition at line 445 of file ElggBatch.php.
ElggBatch::current | ( | ) |
ElggBatch::key | ( | ) |
ElggBatch::next | ( | ) |
ElggBatch::reportFailure | ( | int | $num = 1 | ) |
Report a number of failures during the batch execution, this will increase the internal offset by $num in case offsett increment is disabled.
int | $num | number of failures to report (default: 1) |
Definition at line 350 of file ElggBatch.php.
ElggBatch::rewind | ( | ) |
Implements Iterator.
{}
Definition at line 362 of file ElggBatch.php.
ElggBatch::setChunkSize | ( | int | $size = 25 | ) |
Set chunk size.
int | $size | Size |
Definition at line 338 of file ElggBatch.php.
ElggBatch::setIncrementOffset | ( | bool | $increment = true | ) |
Increment the offset from the original options array? Setting to false is required for callbacks that delete rows.
bool | $increment | Set to false when deleting data |
Definition at line 329 of file ElggBatch.php.
ElggBatch::valid | ( | ) |
ElggBatch::$callbackResult = null |
Definition at line 162 of file ElggBatch.php.