File "README.md"
Full Path: /home/siazco/grocery.siazco.se/wp-content/plugins/better-wp-security/vendor-prod/stellarwp/container-contract/README.md
File size: 1.23 KB
MIME-type: text/plain
Charset: utf-8
# StellarWP Container Contract
Service Container interface for use in StellarWP libraries.
Note that this is not a Container implementation of its own. It is merely abstractions that describe the components of a Dependency Injection Container.
## Installation
It's recommended that you install this contract as a project dependency via [Composer](https://getcomposer.org/):
```bash
composer require stellarwp/container-contract
```
_Note: If you typically use a tool like [Strauss](https://github.com/BrianHenryIE/strauss), you should **not** customize the namespace of this library in order to have proper compatibility with StellarWP libraries._
## Usage
Simply `use` the `ContainerInterface` and implement it or use it as a type hint.
```php
use StellarWP\ContainerContract\ContainerInterface;
class Container implements ContainerInterface {
public function bind( string $id, $implementation ) {}
public function get( string $id ) {}
public function has( string $id ) {}
public function singleton( string $id, $implementation ) {}
}
```
## Example wrappers of other containers
* [DI52](/examples/di52/Container.php) ([repo](https://github.com/lucatume/di52))
* [PHP-DI](/examples/php-di/Container.php) ([repo](https://github.com/PHP-DI/PHP-DI))