|
| __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...
|
|
◆ __construct()
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.
- Parameters
-
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 (). |
- Examples
- /root/Elgg/engine/classes/ElggBatch.php.
Definition at line 200 of file ElggBatch.php.
◆ 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.
- See also
- Countable::count()
- Returns
- int
- Exceptions
-
- Examples
- /root/Elgg/engine/classes/ElggBatch.php.
Definition at line 445 of file ElggBatch.php.
◆ current()
◆ key()
◆ next()
◆ reportFailure()
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.
- Parameters
-
int | $num | number of failures to report (default: 1) |
- Returns
- void
- Examples
- /root/Elgg/engine/classes/ElggBatch.php.
Definition at line 350 of file ElggBatch.php.
◆ rewind()
◆ setChunkSize()
ElggBatch::setChunkSize |
( |
int |
$size = 25 | ) |
|
◆ setIncrementOffset()
ElggBatch::setIncrementOffset |
( |
bool |
$increment = true | ) |
|
Increment the offset from the original options array? Setting to false is required for callbacks that delete rows.
- Parameters
-
bool | $increment | Set to false when deleting data |
- Returns
- void
- Examples
- /root/Elgg/engine/classes/ElggBatch.php.
Definition at line 329 of file ElggBatch.php.
◆ valid()
◆ $callbackResult
ElggBatch::$callbackResult = null |
The documentation for this class was generated from the following file: