Subset

Ein Subset bildet eine Teilmenge ab und kann zum Beispiel für die Paginierung von Datensätzen verwendet werden.

// Teilmenge
$objects=new \Alvine\Types\Collection;
$objects->append(new \Alvine\Types\StringType('value1'));
$objects->append(new \Alvine\Types\StringType('value2'));
$objects->append(new \Alvine\Types\StringType('value3'));

// Offset an dem diese Teilmenge in der Gesamtmenge steht.
$offset=10;

// Gesamtanzahl der Einträge
$totalNumber=100;

// Einträge pro Subset
$objectsPerSubset=10;

$subset=new \Alvine\Types\Subset($objects, $offset, $totalNumber, $objectsPerSubset);

echo (string) $subset->getCurrentPage();
// → 2

echo (string) $subset->getNextOffset();
// → 20

echo (string) $subset->getPages();
// → 10

echo (string) \implode(',', $subset->getOffsets());
// → 0,10,20,30,40,50,60,70,80,90