kompakt/collection-runner

There is no license information available for the latest version (1.1.0) of this package.

Little helper to run through a collection of things with event-emitting along the way

Installs: 134

Dependents: 1

Suggesters: 0

Security: 0

Stars: 0

Watchers: 2

Forks: 0

Open Issues: 0

pkg:composer/kompakt/collection-runner

1.1.0 2019-03-24 11:14 UTC

This package is auto-updated.

Last update: 2025-10-07 05:33:24 UTC


README

Little helper to run through a collection of things with event-emitting along the way.

Install

Through Composer:

  • composer require kompakt/collection-runner

Example

Step through a list in portions (pages) of 5 items

use Kompakt\CollectionRunner\Console\Subscriber\Debugger;
use Kompakt\CollectionRunner\Runner;
use Kompakt\CollectionRunner\EventNames;
use Symfony\Component\Console\Output\ConsoleOutput;
use Symfony\Component\EventDispatcher\EventDispatcher;

$dispatcher = new EventDispatcher();
$eventNames = new EventNames();
$runner = new Runner($dispatcher, $eventNames);
$debugger = new Debugger($dispatcher, $eventNames);
$debugger->activate(new ConsoleOutput());

$countries = [
    'Andorra',
    'Austria',
    'Australia',
    'Brazil',
    'Chile',
    'Cuba',
    'Germany',
    'Finland',
    'France',
    'Guatemala',
    'Italy',
    'Lebanon',
    'Morocco',
    'Nepal',
    'Russia',
    'Switzerland',
    'Thailand'
];

$getCountriesCallable = function($first, $max) use ($countries)
{
    return array_slice($countries, $first, $max);
};

$runner->run(count($countries), $getCountriesCallable, 5);

License

kompakt/collection-runner is licensed under the MIT license - see the LICENSE file for details