yoshi2889 / container
Simple PSR-11 Container implementation for storing object instances
Requires
- php: >=7.1.0
- psr/container: 1.0.0
Requires (Dev)
- phpunit/phpunit: ^6.2
This package is auto-updated.
Last update: 2021-05-31 04:29:25 UTC
README
Simple PSR-11 Container implementation for storing object instances.
Installation
You can install this class via composer
:
composer require yoshi2889/container
Usage
First, instantiate a new ComponentContainer. This is the object which will keep references to the components you put in it.
For any class that may be added to the ComponentContainer, it must implement the ComponentInterface
.
Optionally, the ComponentTrait
trait may be used to provide a ready-to-use means to implement the ComponentInterface
.
After adding an instance to the container, it may be retrieved either by using the get
method on the container
while providing the full class name, or, more conveniently, via the static fromContainer
method on the component.
An example of proper usage:
<?php class ExampleClass implements \Yoshi2889\Container\ComponentInterface { use \Yoshi2889\Container\ComponentTrait; public function test() { echo 'Hello world!'; } } $componentContainer = new \Yoshi2889\Container\ComponentContainer(); $exampleClassInstance = new ExampleClass(); $componentContainer->add($exampleClassInstance); // echoes 'Hello world!' ExampleClass::fromContainer($componentContainer)->test();
License
This code is released under the MIT License. Please see LICENSE
to read it.