2017 © Pedro Peláez
 

library di

Provides a minimalistic dependency injection container.

image

dcp/di

Provides a minimalistic dependency injection container.

  • Monday, December 7, 2015
  • by estel.smith
  • Repository
  • 1 Watchers
  • 1 Stars
  • 135 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 2 Open issues
  • 1 Versions
  • 0 % Grown

The README.md

WARNING: UNMAINTAINED!

About

Provides a minimalistic dependency injection container., (*1)

Example

use DCP\Di\Container;
use DCP\Di\Service\Reference;

interface MailerInterface {}

class Mailer implements MailerInterface
{
    protected $transport;

    public function __construct(MailerTransportInterface $transport)
    {
        $this->transport = $transport;
    }
}

interface MailerTransportInterface {}

class MailerTransport implements MailerTransportInterface
{
    protected $host;
    protected $port;

    public function __construct($host, $port)
    {
        $this->host = $host;
        $this->port = $port;
    }
}

$di = new Container();

$di
    ->register(MailerInterface::class, 'mailer')
    ->toClass(Mailer::class)
;

$di
    ->register(MailerTransportInterface::class)
    ->toInstance(new Reference(MailerTransport::class))
;

$di
    ->register(MailerTransport::class)
    ->addArguments([
        'host' => 'localhost',
        'port' => 25
    ])
;

var_dump($di->get('mailer'));

The Versions

07/12 2015

dev-master

9999999-dev

Provides a minimalistic dependency injection container.

  Sources   Download

MIT

The Requires

 

The Development Requires

by Estel Smith

dependency-injection