Download the PHP package nayjest/di-hub without Composer
On this page you can find all versions of the php package nayjest/di-hub. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download nayjest/di-hub
More information about nayjest/di-hub
Files in nayjest/di-hub
Package di-hub
Short Description Dependency injection library for PHP with links consistency maintaining mechanism
License MIT
Informations about the package di-hub
DI-Hub (Dependency Injection Hub)
IoC container for PHP with hierarchy and links consistency maintaining mechanism
Table of Contents
- Requirements
- Installation
- Usage
- Testing
- Contributing
- Security
- License
Requirements
- PHP 5.5+ (HHVM & PHP7 are supported)
Installation
The recommended way of installing this package is through Composer.
Run following command from your project folder:
Usage
Creating hub
Class Nayjest\DI\Hub represents IoC container. This class implements ContainerInterface from container-interop/container-interop package.
Hub can be instantiated without arguments or with array containing definitions.
Definitions
There are several types of definitions that can be added to hub:
- Values
- Relations
- Items
Definitions should implement Nayjest\DI\Definition\DefinitionInterface
.
This intarface don't contains any methods, it's used only to signalize that instances of target class defines data or relations inside container.
Definitions can be added to container(hub) in following ways:
1) Inject array of definition instances into hub constructor
2) Add definition instance to existing hub via $hub->addDefinition(DefinitionInterface $definition)
3) Add array of definition instances to existing hub via $hub->addDefinitions(DefinitionInterface[] $definitions)
4) Create definitions via DefinitionBuilder: $hub->builder()->define($id $source)
Value Definitions
Instance of Nayjest\DI\Definition\Value represent single value in container that can be accessed by it's id. Nayjest\DI\Definition\Value accepts two arguments: id and source. source can contain value to store inside hub or callable that returns target value.
Relation Definitions
@todo
Item Definitions
Item is a combination of value & it's initial dependencies. May be useful to store class instances that require DI in constructor.
@todo
Hierarchy of hubs
@todo
Testing
This package bundled with unit tests (PHPUnit).
1) Install nayjest/di-hub as stand-alone project
2) Run tests from package folder
Also it's possible to check code style (PSR-2):
Contributing
Please see Code of Conduct for details.
Security
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
License
© 2016—2017 Vitalii Stepanenko
Licensed under the MIT License.
Please see License File for more information.