https://github.com/brenoroosevelt/habemus
PSR-11 compatible dependency injection container
https://github.com/brenoroosevelt/habemus
auto-wiring constructor-injection dependency-injection ioc-container php property-injection psr-11 psr-11-compliant setter-injection taggable
Last synced: 6 months ago
JSON representation
PSR-11 compatible dependency injection container
- Host: GitHub
- URL: https://github.com/brenoroosevelt/habemus
- Owner: brenoroosevelt
- License: mit
- Created: 2021-03-05T20:37:00.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2022-03-07T12:33:51.000Z (about 3 years ago)
- Last Synced: 2024-07-30T20:05:16.187Z (10 months ago)
- Topics: auto-wiring, constructor-injection, dependency-injection, ioc-container, php, property-injection, psr-11, psr-11-compliant, setter-injection, taggable
- Language: PHP
- Homepage: https://brenoroosevelt.github.io/habemus/
- Size: 314 KB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Habemus
[](https://github.com/brenoroosevelt/habemus/actions/workflows/ci.yml)
[](https://codecov.io/gh/brenoroosevelt/habemus)
[](https://scrutinizer-ci.com/g/brenoroosevelt/habemus/?branch=main)
[](https://github.com/brenoroosevelt/habemus/releases)
[](LICENSE.md)Habemus is a PSR-11 compatible dependency injection container. This package provides autowiring to implement Inversion of Control (IoC) containers for PHP.
## Features
Habemus supports:
- [PSR-11](http://www.php-fig.org/psr/psr-11/) compatible.
- Auto wiring (recursively through all dependencies)
- Constructor injection.
- Setter injection.
- Property/constructor injection using PHP 8 Attributes.
- Circular dependency detection.
- Interfaces, Factories, Closures, Callbacks.
- Delegated containers.
- Container composite.
- Service providers and lazy service providers.
- Taggable services.
- Shareable instances.
- Variadic arguments in the constructor.
- Aliasing.
- Array Access.## Requirements
This package supports the following versions of PHP:
* PHP 7.1
* PHP 7.2
* PHP 7.3
* PHP 7.4
* PHP 8.0## Install
Via Composer
``` bash
$ composer require brenoroosevelt/habemus
```## Documentation
Read the [full documentation](http://brenoroosevelt.github.io/habemus).
## Contributing
Please read the [Contributing](CONTRIBUTING.md) guide to learn about contributing to this project.
## License
This project is licensed under the terms of the MIT license. See the [LICENSE](LICENSE.md) file for license rights and limitations.