lunkkun / caching-generator
A rewindable PHP Generator class that caches its generated values.
Installs: 1 261
Dependents: 0
Suggesters: 0
Security: 0
Stars: 4
Watchers: 1
Forks: 2
Open Issues: 1
Requires
- php: >=7.2
Requires (Dev)
- phpunit/phpunit: ^8.0
README
Introduction
A PHP Iterator class that you can wrap around a generator to cache its generated values. When iterating over this class for a second time, values will be pulled from the cache.
If stopped halfway through generating, when iterating for a second time, it will continue generating (and caching) values after exhausting the cache.
Installation
Require this package with composer using the following command:
composer require lunkkun/caching-generator
Usage
<?php use Lunkkun\CachingGenerator\CachingGenerator; $generator = function () { foreach (range(0, 2) as $value) { yield $value; } }; $cachingGenerator = new CachingGenerator($generator()); foreach ($cachingGenerator as $value) { echo $value; } foreach ($cachingGenerator as $value) { echo $value; }
Outputs:
012012
License
PHP Caching Generator is open-sourced software licensed under the MIT license.