frostealth / php-container
Simple Dependency Injection Container
2.0.0
2015-11-09 08:31 UTC
Requires
- php: >=5.4.0
- container-interop/container-interop: ~1.0
- frostealth/php-data-storage: ~2.0
Requires (Dev)
- phpunit/phpunit: 4.2.*
This package is not auto-updated.
Last update: 2024-11-09 16:53:18 UTC
README
Simple Dependency Injection Container.
Installation
Run the Composer command to install the latest stable version:
composer require frostealth/php-container @stable
Usage
use frostealth\Container\Container; $container = new Container(); // ... // injecting simple values $container->set('foo', 'bar'); // or $container->foo = 'bar'; // get its value $value = $container->get('foo'); // or $value = $container->foo; // ... // resources $container->set('object', function ($container) { return new MyObject($container->foo); }); // get a new instance $object = $container->get('object'); // ... // singleton resources $container->singleton('log', function ($container) { return new MyLog($container->object); }); // get log resource $log = $container->get('log');
Dependency Injection
use Interop\Container\ContainerInterface; class MyClass { /** * @var ContainerInterface */ protected $container; /** * @param ContainerInterface $container */ public function __construct(ContainerInterface $container) { $this->container = $container; } }
License
The MIT License (MIT). See LICENSE.md for more information.