PHPackages                             bartfeenstra/dependency-retriever - 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. bartfeenstra/dependency-retriever

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

bartfeenstra/dependency-retriever
=================================

0.4.3(10y ago)3721MITPHPPHP ~5.6 || ~7.0

Since Mar 6Pushed 10y ago1 watchersCompare

[ Source](https://github.com/bartfeenstra/dependency-retriever)[ Packagist](https://packagist.org/packages/bartfeenstra/dependency-retriever)[ RSS](/packages/bartfeenstra-dependency-retriever/feed)WikiDiscussions master Synced 4w ago

READMEChangelogDependencies (2)Versions (10)Used By (1)

Dependency Retriever (woof!)
============================

[](#dependency-retriever-woof)

[![Build Status](https://camo.githubusercontent.com/b39b41c4ee07fe649023f82a12fb0277b46a02cd03ab55865206fe3f19e181dd/68747470733a2f2f7472617669732d63692e6f72672f626172746665656e737472612f646570656e64656e63792d7265747269657665722e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/bartfeenstra/dependency-retriever)

This package is a tool to make [dependency injection](https://en.wikipedia.org/wiki/Dependency_injection) and class instantiation easier. Its API allows class' dependencies to be discovered and injected automatically by the factory.

Retrievers help you inject dependencies, even if you can't or won't from the calling code, by retrieving them based on suggestions from the class authors:

```
use Psr\Log\LoggerInterface;

class Bar {

  /**
   * @suggestedDependency drupalContainerService:logger.channel.form $formLogger
   */
  public function __construct(LoggerInterface $formLogger, $severity) {
    // ...
  }

}
```

When used in a system in which Drupal's service container is available, the `logger.channel.form` service is a suggested dependency for the `$formLogger`parameter. The `drupalContainerService` retriever can retrieve this dependency and give it to the factory to be injected during class instantiation.

```
$factory = new SimpleFactory(new AnnotatedFinder(), new DrupalContainerServiceRetriever());
$bar = $factory->instantiate(Bar::class, [
  'severity' => LogLevel::WARNING,
]);
```

In this example, `Bar` is instantiated using an overridden dependency (value) for `$severity`, but `AnnotatedFinder`, and the hypothetical `DrupalContainerServiceRetriever` provide the factory with a dependency for `$formLogger` based on `Bar`'s `@suggestedDependency` annotation.

###  Health Score

26

—

LowBetter than 41% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity54

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

Every ~2 days

Total

9

Last Release

3749d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/7d655ade44481e4066f8c9ef8ae638d076e82de4fc086ed7bfb4eb03ff0b5fab?d=identicon)[bartfeenstra](/maintainers/bartfeenstra)

---

Top Contributors

[![bartfeenstra](https://avatars.githubusercontent.com/u/376735?v=4)](https://github.com/bartfeenstra "bartfeenstra (22 commits)")

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/bartfeenstra-dependency-retriever/health.svg)

```
[![Health](https://phpackages.com/badges/bartfeenstra-dependency-retriever/health.svg)](https://phpackages.com/packages/bartfeenstra-dependency-retriever)
```

PHPackages © 2026

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