2017 © Pedro Peláez
 

library di

Dependency injection library

image

nurse/di

Dependency injection library

  • Friday, March 30, 2018
  • by mjacobus
  • Repository
  • 2 Watchers
  • 0 Stars
  • 1,420 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 1 Forks
  • 0 Open issues
  • 14 Versions
  • 0 % Grown

The README.md

Nurse

Very simple Dependency Injection Container for PHP, (*1)

Code information:, (*2)

Build Status Coverage Status Code Coverage Scrutinizer Code Climate Scrutinizer Code Quality StyleCI, (*3)

Package information:, (*4)

Latest Stable Version Total Downloads Latest Unstable Version License Dependency Status, (*5)

Installing

Installing via Composer

Append the lib to your requirements key in your composer.json., (*6)

{
    // composer.json
    // [..]
    require: {
        // append this line to your requirements
        "nurse/di": "dev-master"
    }
}

For PHP 5.3 and 5.4 support use version 0.9.2., (*7)

Alternative install

Issues/Features proposals

Here is the issue tracker., (*8)

Usage

Defining a dependency:, (*9)

$container = new Nurse\Container;

// Defining a dependency

$container->set('connection', function ($container) {
    $params = $container->get('connection_params');
    return new Connection($params);
})
->set('connection_params', function () {
    return array(
        'schema'   => 'someschema',
        'username' => 'root',
        'password' => 's3cr3t',
    );
});

// Retrieving the dependency (lazy loading)
$connection = $container->get('connection');

// alternatively you can use the singleton instance of the container

Nurse\Di::set('connection', function ($container) {
    $params = $container->get('connection_params');
    return new Connection($params);
})
->set('connection_params', function () {
    return array(
        'schema'   => 'someschema',
        'username' => 'root',
        'password' => 's3cr3t',
    );
});

$connection = Nurse\Di::get('connection');

You can also create factories:, (*10)

<?php

namespace App;

use Nurse\Factory\FactoryInterface;
use Psr\Container\ContainerInterface;

class ConnectionFactory implements FactoryInterface
{
    public function createService(ContainerInterface $container)
    {
        $params = $container->get('connection_params');
        return new Connection($params);
    }

    public function getKey()
    {
        return 'connection';
    }
}

And then:, (*11)

$factory = new \Dummy\MyDummyFactory();
$actual = $container->addFactory($factory);

Contributing

Please refer to the contribuiting guide., (*12)

License

MIT, (*13)

Authors

The Versions

30/03 2018

dev-master

9999999-dev https://github.com/mjacobus/nurse

Dependency injection library

  Sources   Download

MIT

The Requires

 

The Development Requires

by Marcelo Jacobus

30/03 2018

v3.0

3.0.0.0 https://github.com/mjacobus/nurse

Dependency injection library

  Sources   Download

MIT

The Requires

 

The Development Requires

by Marcelo Jacobus

30/03 2018

dev-upgrade

dev-upgrade https://github.com/mjacobus/nurse

Dependency injection library

  Sources   Download

MIT

The Requires

 

The Development Requires

by Marcelo Jacobus

26/09 2016

v2.1

2.1.0.0 https://github.com/mjacobus/nurse

Dependency injection library

  Sources   Download

MIT

The Requires

 

The Development Requires

by Marcelo Jacobus

26/09 2016

dev-feature-factories

dev-feature-factories https://github.com/mjacobus/nurse

Dependency injection library

  Sources   Download

MIT

The Requires

 

The Development Requires

by Marcelo Jacobus

17/01 2016

dev-feature-interop-compability

dev-feature-interop-compability https://github.com/mjacobus/nurse

Dependency injection library

  Sources   Download

MIT

The Requires

 

The Development Requires

by Marcelo Jacobus

17/01 2016
17/01 2016
22/07 2015

1.0.1

1.0.1.0 https://github.com/mjacobus/nurse

Dependency injection library

  Sources   Download

MIT

The Requires

  • php >=5.4

 

The Development Requires

by Marcelo Jacobus

30/06 2015

1.0

1.0.0.0 https://github.com/mjacobus/nurse

Dependency injection library

  Sources   Download

MIT

The Requires

  • php >=5.4

 

The Development Requires

by Marcelo Jacobus

26/06 2015

0.9.2

0.9.2.0 https://github.com/mjacobus/nurse

Dependency injection library

  Sources   Download

MIT

The Development Requires

by Marcelo Jacobus

19/08 2014

0.9.1

0.9.1.0 https://github.com/mjacobus/nurse

Dependency injection library

  Sources   Download

MIT

The Development Requires

by Marcelo Jacobus