dcp / di
Provides a minimalistic dependency injection container.
Installs: 144
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 1
Forks: 0
Open Issues: 2
pkg:composer/dcp/di
Requires
Requires (Dev)
- phpunit/phpunit: 4.1.*
This package is not auto-updated.
Last update: 2025-11-04 10:22:00 UTC
README
About
Provides a minimalistic dependency injection container.
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'));