2017 © Pedro Peláez
 

library iterators

Simulates yield in PHP < 5.5

image

awesomite/iterators

Simulates yield in PHP < 5.5

  • Tuesday, January 2, 2018
  • by bkrukowski
  • Repository
  • 0 Watchers
  • 0 Stars
  • 3,107 Installations
  • PHP
  • 2 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 5 Versions
  • 4 % Grown

The README.md

Iterators

Codacy Badge Coverage Status Build Status, (*1)

CallbackIterator

CallbackIterator allows to simulate yield feature from PHP 5.5., (*2)

PHP >= 5.5

<?php

function getAllFromDatabase($tableName)
{
    $page = 0;
    $perPage = 1000;
    while ($rows = Db::getRows($tableName, $page, $perPage)) {
        foreach ($rows as $row) {
            yield $row;
        }
        $page++;
    }
}

PHP < 5.5

<?php

use Awesomite\Iterators\CallbackIterator;

function getAllFromDatabase($tableName)
{
    $page = 0;
    $perPage = 1000;
    $rows = [];

    return new CallbackIterator(function () use (&$rows, $tableName, &$page, $perPage) {
        if (!$rows) {
            $rows = Db::getRows($tableName, $page, $perPage);
            $page++;
        }

        if ($rows) {
            return array_shift($rows);
        }

        CallbackIterator::stopIterate();
    });
}

Versioning

The version numbers follow the Semantic Versioning 2.0.0 scheme., (*3)

The Versions

02/01 2018

dev-master

9999999-dev

Simulates yield in PHP < 5.5

  Sources   Download

MIT

The Development Requires

by Bartłomiej Krukowski

02/01 2018

v1.0.0

1.0.0.0

Simulates yield in PHP < 5.5

  Sources   Download

MIT

The Development Requires

by Bartłomiej Krukowski

02/01 2018

1.0.x-dev

1.0.9999999.9999999-dev

Simulates yield in PHP < 5.5

  Sources   Download

MIT

The Development Requires

by Bartłomiej Krukowski

27/01 2017

v0.2.0

0.2.0.0

  Sources   Download

MIT

The Development Requires

by Bartłomiej Krukowski

27/01 2017

v0.1.0

0.1.0.0

  Sources   Download

MIT

The Development Requires

by Bartłomiej Krukowski