https://github.com/frostealth/php-container
Simple Dependency Injection Container
https://github.com/frostealth/php-container
dependency-injection php-container
Last synced: 27 days ago
JSON representation
Simple Dependency Injection Container
- Host: GitHub
- URL: https://github.com/frostealth/php-container
- Owner: frostealth
- License: mit
- Created: 2014-08-29T17:27:09.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2015-11-13T11:42:27.000Z (over 9 years ago)
- Last Synced: 2024-12-25T07:22:37.886Z (5 months ago)
- Topics: dependency-injection, php-container
- Language: PHP
- Homepage:
- Size: 145 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# PHP Container
Simple Dependency Injection Container.
## Installation
Run the [Composer](http://getcomposer.org/download/) command to install the latest stable version:
```
composer require frostealth/php-container @stable
```## Usage
```php
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
```php
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](https://github.com/frostealth/php-container/blob/master/LICENSE.md) for more information.