PHPackages                             wscore/dicontainer - 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. wscore/dicontainer

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

wscore/dicontainer
==================

Simple DI container with auto-wiring.

0.1.0(12y ago)1772PHP

Since Aug 31Pushed 12y ago1 watchersCompare

[ Source](https://github.com/asaokamei/WScore.DiContainer)[ Packagist](https://packagist.org/packages/wscore/dicontainer)[ RSS](/packages/wscore-dicontainer/feed)WikiDiscussions master Synced 2d ago

READMEChangelogDependenciesVersions (4)Used By (2)

WScore.DiContainer
==================

[](#wscoredicontainer)

A simple Dependency Injection Container.

Usage
-----

[](#usage)

\###Creating an instance

Use instance scripts

```
$container = include( 'WScore.DiContainer/scripts/instance.php' );
```

\###Setting and retrieving values.

Set and retrieve a value.

```
$container->set( 'some-id', 'a value' );
$value = $container->get( 'some-id' ); // gets a string: "a value".
```

Set a service object.

```
$container->set( 'service-this', '\name\space\className' );
$object = $container->get( 'service-this' ); // it's \name\space\className class.
```

Or, simply specify a class name to get an object.

```
$object = $container->get( '\name\space\className2' );
```

\###Getting another class

Set another class for a given class.

```
$container->set( '\some\class', '\name\space\className' );
$object = $container->get( '\some\class' ); // it's \name\space\className class.
```

Auto-Wiring/Discovery
---------------------

[](#auto-wiringdiscovery)

Supports simple auto-wiring or auto-discovery of dependencies using annotations in phpdocs. The supported tags are: `@Inject`, `@param`, and `@var`.

The @Singleton annotation is also supported.

Sample PHP class code:

```
/**
 * @Singleton
 */
class Sample {
    /**
     * @Inject
     * @var /class/class
     */
    private $property;

    /**
     * @Inject
     * @param /some/class1 $var
     * @param /some/class2 $var2
     */
    function __construct( $var, $var2 ) {}

    /**
     * @Inject
     * @param /some/class1 $var3
     */
    function setVar3( $var3 ) {}
}
```

Overwriting DI Option
---------------------

[](#overwriting-di-option)

The container can overwrite the dependency of any of the injection types: construct, setter, and property injections. Specify the option at get,

```
$container->option( 'Some\Class' )
    ->setConstructor( 'var', 'another\class' )
    ->setSetter( 'setVar3', 'setter\class', )
    ->setProperty( 'property', 'property\class' );
$object = $container->get( 'Some\Class );
```

###  Health Score

26

—

LowBetter than 41% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity55

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 ~0 days

Total

2

Last Release

4690d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/8ed783829e6fa0bd4b0def8c04ccfdfb2fc99f9e61e4a9470acad9e5abc5fcac?d=identicon)[asaokamei](/maintainers/asaokamei)

---

Top Contributors

[![asaokamei](https://avatars.githubusercontent.com/u/747030?v=4)](https://github.com/asaokamei "asaokamei (113 commits)")

### Embed Badge

![Health badge](/badges/wscore-dicontainer/health.svg)

```
[![Health](https://phpackages.com/badges/wscore-dicontainer/health.svg)](https://phpackages.com/packages/wscore-dicontainer)
```

PHPackages © 2026

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