library di
Provides a minimalistic dependency injection container.
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
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'));
dev-master
9999999-dev
Provides a minimalistic dependency injection container.
Sources
Download
MIT
The Requires
The Development Requires
by
Estel Smith
dependency-injection