PHPackages                             scheb/implementation-iterator - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. scheb/implementation-iterator

AbandonedArchivedLibrary[Utility &amp; Helpers](/categories/utility)

scheb/implementation-iterator
=============================

Iterates a PSR-4 compliant directory for implementations of a class/interface

v1.0.0(11y ago)311.0k1MITPHPPHP &gt;=5.3.0

Since Mar 22Pushed 11y ago1 watchersCompare

[ Source](https://github.com/scheb/implementation-iterator)[ Packagist](https://packagist.org/packages/scheb/implementation-iterator)[ Docs](https://github.com/scheb/implementation-iterator)[ RSS](/packages/scheb-implementation-iterator/feed)WikiDiscussions master Synced today

READMEChangelog (1)Dependencies (1)Versions (2)Used By (0)

scheb/implementation-iterator
=============================

[](#schebimplementation-iterator)

This library creates an iterator for a PSR-4 compliant folder structure and searches it for all implementations/extensions of an interface/class. Abstract implementations and the class itself will be ignored.

[![Build Status](https://camo.githubusercontent.com/8b9c11e4992669d9ca005c9e90c2820bf7a57aaff58674a0e794290db6af1c9d/68747470733a2f2f7472617669732d63692e6f72672f73636865622f696d706c656d656e746174696f6e2d6974657261746f722e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/scheb/implementation-iterator)[![HHVM Status](https://camo.githubusercontent.com/49ebf6abe335ae000662624670d6a34cd6b838558d6107e97c565a0f9b6e7cb8/687474703a2f2f6868766d2e683463632e64652f62616467652f73636865622f696d706c656d656e746174696f6e2d6974657261746f722e706e67)](http://hhvm.h4cc.de/package/scheb/implementation-iterator)[![Coverage Status](https://camo.githubusercontent.com/c7a108cdaa1536cd052fa3a5b43fcb63f6a42d8b5a2e383cfe1360b301c19ebf/68747470733a2f2f636f766572616c6c732e696f2f7265706f732f73636865622f696d706c656d656e746174696f6e2d6974657261746f722f62616467652e706e673f6272616e63683d6d6173746572)](https://coveralls.io/r/scheb/implementation-iterator?branch=master)[![Latest Stable Version](https://camo.githubusercontent.com/4eda11cffa04681a09147bcd89ca512feb3d4066b0f635cb98a0185057f252d5/68747470733a2f2f706f7365722e707567782e6f72672f73636865622f696d706c656d656e746174696f6e2d6974657261746f722f762f737461626c652e737667)](https://packagist.org/packages/scheb/implementation-iterator)[![License](https://camo.githubusercontent.com/9add709c2ebaf83173dfa40ad41f7e3b03031276f65c05857caa3283a5072eeb/68747470733a2f2f706f7365722e707567782e6f72672f73636865622f696d706c656d656e746174696f6e2d6974657261746f722f6c6963656e73652e737667)](https://packagist.org/packages/scheb/implementation-iterator)

Usage
-----

[](#usage)

```
$iterator = new \Scheb\ImplementationIterator("src/", "Root\Namespace", "Some\Class\Or\Interface");
foreach ($iterator as $className) {
    echo $className . "\n";
}
```

Will return something like:

```
Root\Namespace\Foo\Implementation
Root\Namespace\Bar\OtherImplementation
...

```

Alternatively you can also have an iterator, which returns ReflectionClass instances instead of the class name:

```
$iterator = new \Scheb\ImplementationReflectionIterator("src/", "Root\Namespace", "Some\Class\Or\Interface");
foreach ($iterator as $reflection) {
    echo $reflection->getName() . "\n";
}
```

License
-------

[](#license)

This library is available under the [MIT license](LICENSE).

###  Health Score

30

—

LowBetter than 62% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity23

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

4121d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/496658d46619a414a62b1e933fb7fc2e57eff4f0a4109f4cffc32093f57d65da?d=identicon)[scheb](/maintainers/scheb)

---

Top Contributors

[![scheb](https://avatars.githubusercontent.com/u/1259952?v=4)](https://github.com/scheb "scheb (13 commits)")

---

Tags

php-libraryreflectionreflectioniteratorimplementation

### Embed Badge

![Health badge](/badges/scheb-implementation-iterator/health.svg)

```
[![Health](https://phpackages.com/badges/scheb-implementation-iterator/health.svg)](https://phpackages.com/packages/scheb-implementation-iterator)
```

###  Alternatives

[phpdocumentor/reflection-common

Common reflection classes used by phpdocumentor to reflect the code structure

9.1k736.5M37](/packages/phpdocumentor-reflection-common)[symfony/property-access

Provides functions to read and write from/to an object or array using a simple string notation

2.8k317.3M3.2k](/packages/symfony-property-access)[nikic/iter

Iteration primitives using generators

1.1k6.4M55](/packages/nikic-iter)[loophp/collection

A (memory) friendly, easy, lazy and modular collection class.

745762.4k16](/packages/loophp-collection)[phpdocumentor/reflection

Reflection library to do Static Analysis for PHP Projects

12525.9M148](/packages/phpdocumentor-reflection)[athari/yalinqo

YaLinqo, a LINQ-to-objects library for PHP

4581.2M5](/packages/athari-yalinqo)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
