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

1.1.0 2019-03-24 11:14 UTC

This package is auto-updated.

Last update: 2024-04-07 02:22:27 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